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