架构师笔记-设计模式

学习设计模式的最终是要学习设计思想,开发的时候不一定要套用某种设计模式,但是了解它的思想,会对开发有很大的帮助。

抽象工厂模式

意图解决的问题:

  1. object obj = new object()是最常见的创建对象方法,但这种方法造成类名的硬编码,需要根据不同的运行环境动态加载相同接口但实现不同的类实例,这样的创建方法就需要配合上复杂的判断,实例化为不同的对象

  1. 为了适用于不同的运行环境,经常使用抽象类定义接口,并在不同的运行环境中实现这个抽象类的子类。普通的创建方式必须造成代码同运行环境的强绑定,软件产品无法移植到其他的运行环境。

https://www.cnblogs.com/zhili/p/AbstractFactory.html

抽象工厂模式就可以解决这样的问题,根据不同的配置或上下文环境加载具有相同接口的不同类实例。

https://www.runoob.com/design-pattern/abstract-factory-pattern.html

单例模式

保证类有且只有一个实例供调用

Decorator模式(装饰模式)

在开发时,经常会发现为类预先设计的功能并不够强大,需要增强或扩展类的功能。解决这个问题最简单的办法是继承出一个新的类,并扩展相应的方法。但是这样做会产生大量的子类,让系统中类的层次结构变得复杂且混乱。

Decorator模式过在原有类的基础上包装一层来解决功能扩展的问题。

这种模式的实现,一般是定义一个抽象的基类,然后再具体实现某一个产品。当这个产品需要扩展的时候,就定义一个扩展类,同样实现这个基类,然后在扩展类中,增加一个基类对象,在传入时,传入这个产品的对象,就可以在执行基类方法的同时,执行扩展的功能。

Facade/Session Facade模式(外观模式,“门面模式”)

简单来说,平常使用的三层架构就是这种模式的体现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值