设计原则

为什么学习软件设计原则,个人理解

1.规范代码
2.便于维护
在实现一个功能时,不需要考虑很多设计,直接怎么方便怎么写;但是当有10个100个功能业务时,就需要考虑怎么设计怎么规范代码,让代码可以读,更好读,更方便维护,适应迭代。现在有的7个原则,也是在语言应用久之后衍生的经验之谈。

开闭原则

开闭原则,对修改关闭,对扩展开放
这一点在敏捷开发中体现更深刻,敏捷上线频繁;遵循开闭原则,尽量扩展,减少修改;如果每次有需求修改原代码,而且代码可能由很多人写。一可能有问题,二修改之后就需要测试;而且如果修改多之后可能很难适应前后的每一次需求,会改不动。所以尽量新增而不修改。

依赖倒置

依赖倒置,会使得实现更清晰。先不考虑实现而是考虑抽象,开发前有了抽象就可以构建出整个应用,这个时候就可以给产品、需求评审是否可行,构建抽象再实现,每个功能再具象实现。上层(架构)就可以不关注实现

单一职责

单一职责,应该是也体现了开闭原则的,一个类或者方法不要掺杂太多逻辑,现在可能没问题,之后可能就需要修改,所以尽量拆开逻辑,逻辑会更清晰,修改方便。比如有的接口会把新增跟修改放在一起,这样一个接口就会有很多逻辑,不便修改,会增加很多if结构,逐渐很难读很难维护

接口隔离

接口隔离,也有单一的思想,因为接口是需要实现的,如果有很多功能,那么实现类就会有很多逻辑,有的可能只需要实现一个方法实现,就会需要实现很多空方法;所以一个功能放一个接口中,实现类实现的都是有用的方法,而不会存在实现没有用的方法,语义上也读不懂,逻辑不通。

迪米特

迪米特原则,体现解耦的思想,解耦就是为了高内聚、低耦合。类之间尽量减少关联,不需要知道的就不需要知道,避免修改时产生关联

里氏替换原则

读不太懂,避免继承泛滥

合成复用原则

聚合 has-a 组合 contains-a 继承 is-a
尽量使用聚合组合,减少使用继承,继承太重。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Unity脚本编程 众所周知,unity的编程属于脚本化,脚本没有一个具体的概念跟架构, 导致在项目过程中,经常出...
    半闲书屋半闲人阅读 3,257评论 1赞 28
  • 软件开发是始于面向过程的 软件开发是始于面向过程的,因为面向过程地解决问题更直接,软件本身就是一个解决问题的过程;...
    侏罗纪猿阅读 848评论 0赞 2
  • 设计模式(Design Pattern)是前辈们在代码实践中所总结的经验,是解决某些特定问题的套路。在使用一些优秀...
    TurboSnail阅读 826评论 0赞 0
  • 惊心动魄无影处,步步为营建奇功 1月16日 今日锦囊: 军令状前将进酒,百万雄狮渡长江。 当年赤壁火又旺,东风只助...
    天外来金_3286阅读 656评论 0赞 0
  • 懒散、放任自流、缺乏紧迫感仍然是我目前生活中的主要节奏,缺乏极强的目的性,对于所做的事充满了怀疑和不自信,...
    望月寒客阅读 600评论 0赞 1

友情链接更多精彩内容