故事背景:比如一个系统让我实现一个功能,我总是想能不能多花点时间做个通用得jar包,能把这个功能用到其他系统中,而不是仅仅完成这个项目得这个功能而已。主要困境:缺乏思路,不知道怎么划分类,怎么划分职责阐述:如果我就完成当前功能,那我把实现全写在一两个类里,很简单的,一做成组件,立刻从1,2个类变成1,2十个类。并非过度设计:我这样做并非过度设计,举个例子:比如struts,从反向思维讲,我们项目就用到struts包里的几个类而已,但是struts包里有几十个类。我想把这个思维反过来,比如事先没有struts,我就用了那几个需要的类,随着使用,我返现这个东西有希望能运用到别的项目,同时想把其组件化,我怎么才能从那几个类设计出struts包里得几十个类。(以上为我追随开源组件得设计思维)

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【bloodrate】截止到2008-07-10 13:22:11的历史汇总数据(不包括此帖):
    发帖的总数量:106                      发帖的总分数:1600                     每贴平均分数:15                       
    回帖的总数量:187                      得分贴总数量:47                       回帖的得分率:25%                      
    结贴的总数量:105                      结贴的总分数:1500                     
    无满意结贴数:60                       无满意结贴分:1750                     
    未结的帖子数:1                        未结的总分数:100                      
    结贴的百分比:99.06 %               结分的百分比:93.75 %                  
    无满意结贴率:57.14 %               无满意结分率:116.67%                  
    值得尊敬
      

  2.   

    你知道重构吗?为何需要这个?1 用你熟悉的任何方法实现需求,这个最关键,否则任何一方都不会满意
    2 在系统最关键的地方进行重构,提高性能和稳定性
    3 在你很无聊的时候,重构那些非关键代码
    4 在下一个项目重复上面的过程
    5 但第二次重构时,将考虑是否可以重构一些非关键代码
    6 关键代码很难在2个项目重用,能重用的大部分是【工具类】【辅助类】,绝对不是【核心类】,因为那是5%-15%的个性化的东西
    7 随着你的理解,你将抽取更多的可重用的组件,同时你也会发现他们将越来越难以维护。呵呵!此时他们又得重构了。
    OVER其他人补充