不知道是不是以前的一些想法造成的惯性思维还是项目中实际情况引发的思考.(还可能是以前的惯性思维把项目做的垃圾了,所以才会出现这种实际情况.这是一笔烂帐,就不算了).
总之发觉看似严丝合缝的流程中还是有很多可以拆解的地方,而且在一个流程中,很多地方都要用到的从逻辑或者说业务的角度来看都是一种功能的.....叫什么呢?模块,这些东西比如各种的生成引擎,其实可以抽成一个东西,只要他们有共同的行为.其实这就是抽象的或者复用的关键点.虽然他们看起来在实现方面千差万别,但是在逻辑上他们是统一的,这些模块就是需要抽象的东西.抽象就是为了忽略细节的.
为什么要抽象它们也不是纯粹为了好看.因为在项目中发觉,当有些地方进行重构的时候,需要到处去找相似功能的模块进行相应的修改,一旦有一处漏下,那么后果是不可预测的.