快速理解设计模式六大原则

导读:本篇文章讲解 快速理解设计模式六大原则,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

设计模式的核心总结起来就一句话:用抽象构建框架,用实现扩展细节。目的就是代码修改的改动量最小

设计模式六大原则

单一职责原则

很好理解,一个类职责要单一,不要承载过多的职责,就比如说我们电脑上所有的文件,不可能都放在一起,需要很多个文件夹,而文件夹中的文件相关性越高、文件数量越少,这个文件夹的职责就更单一

开闭原则(开放扩展修改关闭)

开放扩展关闭修改,实际应用最多的就是抽象类,对一些不变的都进行了抽象,一些变化的交由实现类进行实现

里氏替换原则(子类实现父类的要求)

主要定义了一些关于继承方面的原则

  1. 子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法,一般标记为final
  2. 子类可以增加自己持有的方法
  3. 子类重载父类方法时,方法的输入参数要比父类宽松
  4. 子类重载父类方法时,方法的输出返回值要比父类的更严格

依赖倒置(每个类都有抽象层)

依赖倒置是实现开闭原则的途径之一,总的来说就是使用抽象类或接口去制定好规范和契约,而不涉及具体操作,将细节实现交给子类去做

  1. 每个类都有抽象类或接口
  2. 对象变量的申明类型尽量是接口或抽象类,比如List<String> list = ArrayList<>();
  3. 任何类都不应该从具体类进行派生,正常是要从抽象类或接口
  4. 使用继承时尽量遵循里氏替换原则

接口隔离原则(接口)

将一个范围很大接口拆分为更多小接口,只让客户实现需要他们实现的接口,就是说接口粒度更小且是必须的(和单一职责类似,单一职责强调职责,接口隔离强调接口)

  1. 接口在一定限度下尽量小
  2. 只提供调用则需要的方法,屏蔽不需要的方法
  3. 深入了解业务逻辑后进行接口拆分,适应场景
  4. 使接口用最少的方法去完成最多的事情

迪米特法则(一个对象对其他对象有最少的了解)

主要目的就是降低类与类之间的耦合度,如果两个软件实体无须直接通信,那么就不应当发生直接的相互调用,可以通过第三方转发该调用。其目的是降低类之间的耦合度,提高模块的相对独立性。

  1. 类与类之间的耦合越弱越好
  2. 类结构设计上,尽量降低类成员的访问权限,比如我们属性一般都是private
  3. 类设计上,优先将一个类设置成不变类,比如很多类都是final
  4. 一个类中,将引用其它对象的次数降到最低,就是说尽量少引用
  5. 不要暴露属性成员,而应该提供访问器get、set
  6. 谨慎使用序列化(Serializable),容易有反序列化的漏洞

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/17887.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!