设计模式之六大设计原则

设计模式之六大设计原则

面向对象的特征:封装、抽象、继承、多态

单一职责原则(功能拆分)
核心:提高程序的可重用性 一个类只能有一个引起它变化的原因
解决的问题:降低类的复杂度、降低部件的耦合度

里氏代换原则 (继承)
核心:子类必须能够替换掉它们的父类型(即可以向上转型)

开放——封闭原则(抽象化)
核心:程序的实体对象(模块、类、函数等)应该可以进行拓展,可以添加类,但不可以修改类。使得更加容易拓展。

依赖倒转原则(多态)
核心:程序的高层模块不应该依赖于底层模块,但两者都依赖于抽象;
抽象不应该依赖于具体细节,而细节应该依赖于抽象。
注:高层模块尽可能通过调用接口而不是类对象(如注入依赖时,尽量是接口,而不是对象)
这样使得底层模块尽可能使用接口来实现(如Dao层)

合成/聚合原则
核心: 尽可能去使用接口而不是通过继承的方式,子类和父类的高度依赖性限制程序的复用性和程序的灵活程度。
方式:注入对象或者接口
注:JAVA实现复用的两种方式:合成/聚合复用 和继承复用
合成是值的聚合(Aggregation by Value),聚合是则是引用的聚合(Aggregation by Reference)。
合成的组件是依赖于整体的,聚合的组件是可以独立存在的。

迪米特原则(隔离通信)
核心:如果两个类之间不必直接通信,则这两个类不应该发生直接的相互作用。如果其中的一个类需要调用两一个类的方法。可以通过第三方转发这个调用。
举个栗子:皇上召见大臣让太监传话。(“皇上”要求的安全性较高)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值