设计模式-六大原则

设计模式的六大原则

  • 单一职责原则(Single responsibility principle):一个类的职责应该单一
  1. 如果一个类职责过多,应该拆分

(类如果职责单一,那导致类修改的原因也会唯一,不会因为多种原因都要去修改类)

  • 开放-关闭原则(Open Close Principle):也叫开闭原则,要求程序对扩展开放,对修改关闭
  1. 在程序扩展新功能时,不修改原有代码,而是进行扩展,使程序的扩展性好,维护性好
  • 里氏替换原则(Liskov Substitution Principle)所有父类出现的地方,子类都能替换,并且结果不变
  1. 子类可以实现父类的抽象方法,但子类不应该重写父类已实现的方法
  2. 子类可以增加自己的独有方法
  3. 子类的方法重载父类的方法时,方法的形参要比父类方法的形参更宽松
  4. 子类的方法实现父类的抽象方法时,方法的返回值要比分类更严格
  • 接口隔离原则(Interface Segregation Principle):每个接口中都不存在子类用不到又必须实现的方法
  1. 如果存在,需要拆分
  • 依赖倒转原则(Dependence Inversion Principle):应该面对接口编程,而不是面对细节编程
  1. 高层模块不依赖底层,两个都应该依赖接口(一个模块引用了链接数据库的代码,高层依赖了底层,如果替换数据库时,需求修改高层代码,无法复用,如果依赖接口,则新增数据库链接实现类即可)
  2. 抽象不应该依赖细节,细节应该依赖抽象

(以上原则英文首字母组成SOLID,又叫SOLID准则)

  • 迪米特法则(又叫最少知道原则)(Law of Demeter如果两个二类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用
  1. 一个类对自己依赖的类知道的越少越好。也就是说无论被依赖的类多么复杂,都应该将逻辑封装在方法的内部,通过public方法提供给外部。这样当被依赖的类变化时,才能最小的影响该类
  2. 只与直接的朋友通信。类之间只要有耦合关系,就叫朋友关系。耦合分为依赖、关联、聚合、组合等。我们称出现为成员变量、方法参数、方法返回值中的类为直接朋友。局部变量、临时变量则不是直接的朋友。我们要求陌生的类不要作为局部变量出现在类中

总结:原则应该根据实际情况来尽量满足,也不用一味纠结于是否满足原则。

(0)

相关推荐

  • 设计模式(Design Patterns)的简单讲解

    模式的诞生与定义 模式(Pattern)起源于建筑业而非软件业(小本本记下来--) 模式之父--美国加利佛尼亚大学环境结构中心研究所所长Christopher Alexander博士; 模式 : -C ...

  • "设计模式我学过呀,就是没用过"

    回复"000"获取大量电子书 写在前面 在开发中,不使用设计模式也不是不可以,但是用好设计模式能帮忙我们更好的去解决实际问题. 其实,我们天天都在和设计模式打交道,很多人却完全不知 ...

  • 面向对象六大原则

    这篇文章主要讲的是面向对象设计中,应该遵循的六大原则.只有掌握了这些原则,才能更好的理解设计模式. 我们接下来要介绍以下6个内容. 单一职责原则--SRP 开闭原则--OCP 里氏替换原则--LSP ...

  • 设计模式-七大软件设计原则

    设计模式 参考资料 图解设计模式 大话设计模式 设计模式之禅 github我见过最好的设计模式 http://c.biancheng.net/view/1326.html 基本原则 开闭原则 在设计的 ...

  • 常见代码重构技巧(非常实用)

    作者:VectorJin juejin.cn/post/6954378167947624484 关于重构 为什么要重构 项目在不断演进过程中,代码不停地在堆砌.如果没有人为代码的质量负责,代码总是会往 ...

  • 面向对象设计的原则

    开放封闭原则(The Open Closed Principle) ** 一个软件实体如类.模块和函数应该对扩展开放,对修改代码关闭.即软件实体应尽量在不修改原有代码的情况下进行扩展** [===== ...

  • 封装+继承+多态

    面向对象三大特性 封装: Encapsulation是指一种将抽象性函式接口的实现细节部份包装.隐藏起来的方法.封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随意访问.要访问该类 ...

  • 设计模式——六大设计原则

    文章目录 一.单一职责原则 二.里式替换原则 三.依赖倒置原则 四.接口隔离原则 五.迪米特法则 六.开闭原则 一.单一职责原则 单一职责原则简称 SRP,他想表达的就是字面意思,一个类只承担一个职责 ...

  • 【设计模式】设计原则--面向接口编程你理解的对吗?

    最近看了<Head First Design Patterns>这本书.正如其名,这本书讲的是设计模式(Design Patterns),而这本书的第一章,讲的是很重要的一些设计原则(De ...

  • 设计模式六大原则:开闭原则

    开闭原则(Open Close Principle): Software entities (classes, modules, functions, etc.) should be open for ...

  • 设计模式六大原则:单一职责原则

    目录: 设计模式六大原则:单一职责原则 设计模式六大原则:接口隔离原则 设计模式六大原则:依赖倒置原则 设计模式六大原则:里氏替换原则 设计模式六大原则:迪米特法则 设计模式六大原则:开闭原则 单一职 ...

  • 科三考试六大原则,学员提前收藏

    科三,是公认的驾考难点,不少学员在此项目上接二连三失利.但也有学员一次性通过,只是这样的成功太难复制.有着丰富教学经验的教练给出了科三考试六大原则,只要全部做到,就能大概率一次性通过科三,各位学员还不 ...

  • 管理者核心能力提升74:优秀管理者必须坚持管人六大原则

    作者:嵇国光管理视界 摘要:我是管理者,更是领导者.管理循环和领导循环两者啮合着.推动着团队前行.对人讲灰度,对事讲流程!领导管人,流程管事.前者是领导,后者是管理. 领导管人,流程管事.管理者在管人 ...

  • 管理者核心能力提升75:优秀管理者必须坚持横向管理六大原则

    作者:嵇国光管理视界 摘要:我是管理者,更是领导者.管理循环和领导循环两者啮合着.推动着团队前行.对人讲灰度,对事讲流程!领导管人,流程管事.前者是领导,后者是管理. 作为一名管理者,不仅要管好人,管 ...

  • 冠心病患者出游的六大原则,出门前先看一看!

    哈特瑞姆心脏科普推荐搜索 冠心病 预防 猝死 马上就是五一了,小哈提醒您出门在外一定注意安全第一,因突发心脏病火车上紧急救援.飞机迫降的新闻报道时有发生,而心脏性猝死的病因中冠心病占有三分之二! 冠心 ...

  • 股权合伙激励六大原则解读

    直入主题,做股权合伙激励实际操作要考虑六大原则: 一是进入机制.你是在总公司做股权激励?还是在子公司.事业部做股权激励?如果是开分店(分校),是让店长投入,还是让店员或是导购员投入?这必须要有一个标准 ...

  • 「精益学堂」看板管理的六大原则

    看板管理是为了有效管理作业现场而使用的工具,其目的是实现生产信息的快速传达和各生产单元的信息共享,下面说一下看板管理的六个原则. 原则一:下工序就是客户,不将不合格产品送往后工序: 原则二:由后工序来 ...