1. 封装变化 :将易变的代码控制在一个类中,需求变更可以快速定位到并做修改,同时其他不易变的,独立出来,提供另一个层次的复用。在实际编码中,应该在易变部分添加更多详细的解析,标注可能发生的变化内容,以及可修改的部分。
2. 接口编程 : 面向接口编程,可以使得模块间更好的解耦合,在实现中,接口被定义则很难修改,如果接口方法多,应该分成多个接口,各个接口提供不同的职能,职责单一。接口不宜滥用,接口应该是使用在业务实现方式有多种选择的地方,或者多个类都实现相同功能进行提取抽象。
使用接口的另一个好处是可以很好的利用OO语言的多态性,减少代码中的if-else数量,在实际设计中,需尽量避免过多的状态字段,过多的状态必然带来更多的if - else ,这将会给编码和代码维护带来灾难性后果,宁可针对不同的状态定义不同的方法或页面,也不应该将所有的状态出现的场景编码与 if -else的方式集中在一个方法或页面中,这种“复用” 在未来需求变更时将无法修改维护
3. 优先组合 :一些功能复杂的方法或类,最好是将功能点解析出来,按职责分散到对应的类中,然后主类中进行引用调用,这样可以此代码复用率提高,也可让代码结构清晰。