设计模式原则及应用

1、单一原则

2、里氏替换原则

3、依赖倒置原则

4、接口隔离原则

5、迪米特法则

6、开闭原则

1、工厂模式(简单工厂、工厂模式、抽象工厂模式)

简单工厂模式

工厂自然是生产产品的,假设有一个产品接口,那么 不同的实现类自然需要一个标识来区分返回具体的实现对象,简单工程就是在生成产品的地方有个switch...case分支来返回具体的产品,如果有新产品就在方法中加一个新分支,显然违反了开闭原则。那么为什么违反了开闭原则呢?因为简单工厂模式是直接用工厂的具体实例来生成产品的而且生成了多个产品这样工厂模式违反了单一原则,而调用工厂的类违反了依赖倒置原则,所以调用点应该依赖工厂的接口,而不同产品有不同工厂生成。这个就是工厂模式,但是这样就又生成了过多的类,所以 设计模式要根据不同情况具体应用。

简单工厂模式、工厂模式都是以一个产品来介绍的,一个 工厂自然不知一个产品,所以工厂模式中的接口可以定义工厂生产的所有产品,这样同样符合开闭原则,但是可能会违反接口隔离原则

2、建造者模式

该模式是要在产品构建顺序相同的条件下处理的,调用者想获得某个产品,根据迪米特法则对产品的创建过程并不需要了解,会交由指挥者来创建,指挥者只需要了解创建过程,对创建成什么样交由建造者创建,这里就有多台问题了,所有建造者是个接口这也符合依赖倒置原则,同是实现了构造多个产品,而调用者只需直接拿来用,对其他了解最少。

3、原型模式

深克隆、浅克隆 接口实现Cloneable、重写clone方法,super.clone()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值