架构师 0 期第三周总结
本周主要讲设计模式与重构
设计模式是前人总结的代码组织模式,是针对某种特定问题的通用且可重复使用解决方案,能够使代码更加的内聚,更加容易扩展。软件框架是基于各种各样的设计模式之上,要想称为架构师,设计模式是一个无法越过的坎。
简单工厂模式
简单工厂提供创建实例的功能,而无需关心具体实现
优点:
有助于封装,客户端可以更好的面向接口编程
隔离,用户不需要知道类的具体实现
缺点:
每增加新类都要修改工厂方法,不便于扩展
使用场景:
想要隔离具体实现,让客户端只针对接口编程。
想要把创建对象的职责集中管理和控制。
单例模式
在某些场景下,我们希望某些类只能创建一个对象,比如配置类,这个时候就要使用单例模式
单例模式要注意在对象创建时多线程的访问,避免重复创建对象。
适配器模式
把原有的接口改造成另外一种形式的接口
类适配器:继承需要适配的类,并且实现新的接口,在新的接口中调用继承类的方法。
对象适配器:实现新的接口,在创建对象时传入需要适配的对象,在新的接口中调用适配对象的方法。
模版方法模式
在基类中实现整个框架流程,个别关键函数在实现子类中实现,由基类的框架流程来进行调用。这样可以把流程固化下来,又能兼顾变化的部分。
策略模式
面向接口编程,多个类实现同一个接口,这些类可以看成是一个个的策略,这些策略可以彼此替换,可以在运行时进行替换。
组合模式
叶子类和容器类同时继承相同的抽象类或者接口,容器类同时也包含了一个list,用来存放容器类中的叶子对象或子容器对象。这样做的好处是可以用相同的处理逻辑来操作叶子对象和容器对象。
个人感受:最近看了不少的设计模式,发现对于设计模式背后的指导思想有了一些深入的了解,在应用方面也有了一些提升,在项目中,重新审视了之前自己写的一个框架,虽然自称是个框架,但实际上是一个平铺直叙的代码而已。工作之余,使用策略模式对框架的消息处理模块进行改造,发现改造之后的代码比之前的代码看起来专业了很多,而且也符合了开闭幕式原则,这个对我的触动意义是非常大的,希望能更加深入的掌握设计模式,对于以后工作中的框架性开发,有十分重要的作用。
评论