`
laughingchs
  • 浏览: 67938 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

设计模式原则

阅读更多

 

计算机是一门所有的问题都可以通过增加一个中间层来解决的学科。在设计模式中,个人觉得总的原则如下:一件复杂的事情有多种实现方式,而这些实现方式的优雅度按如下顺序递增。

1. 一个方法全部搞定,包含所有的逻辑

2. 抽取方法中相对独立和完整的模块,封装在单独的方法中,多个方法来搞定;这样,当有业务变化时,我们需要修改的只是一个方法,而不需要小心翼翼地修改上千行的一个方法。

3. 如若1中的一个方法或者2中的多个方法关联性并不高;则说明这个接口或者类的职责太过复杂了,则应该考虑通过继承之类的方式来将该复杂接口按各个功能的递增分成多个具有继承关系的接口

4. 在3中通过继承来达到尽量让各个接口的职责尽量单一,但继承隐含着一些子接口被强制包含一些不该有的职责和其他的一些问题。因此,如果我们能通过组合关系来串联起各个接口的关系;则不但保证了各个接口职责单一的原则,避免了继承带来的副作用;同时,使用组合,我们可以灵活搭配各个接口的组合关系(设置这个搭配可以在运行时完成),提高灵活性,达到动态改变功能。另外,通过多个接口,各个接口封装不同的变化纬度,可以达到这些接口都可以独立的发展和变化,而不会相互影响。(组合优于继承)

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics