架构师训练营第三周心得
本周学习了常用的设计模式,结合上周的设计原则,可以理解为设计模式是设计原则的一种实现。
心中有设计原则则设计模式自然而生。
工厂模式 - 软件解耦的第一步,当使用构造函数时,调用端和被调用端则产生了直接依赖。 工厂方法可以定义方法名,可使得代码的阅读性提高;工厂方法可以返回缓存实例而非每次创建新实例;工厂方法可以返回完整对象(初始化设置),并可以返回子类对象。
单例模式 - 当我们需要一个在系统中只存在唯一实例的时候,采用单例模式。单例模式细节比较多,尤其在多线程环境中,在 Java 中由于 new 关键字不是原子操作,编译器可能会交换初始化和指针指向的顺序,所以即便使用双重校验依然会有问题,所以个人偏向枚举的方法来实现单例。
模版模式 - 抽象类在编译期完成整体业务逻辑的顺序框架,执行期由子类来填充具体功能。关键在于整体方法的执行顺序由抽象类定义。
策略模式 - 当很多对象只是行为上有差异时,可以使用策略模式,来实现灵活的调用。
装饰器模式 - 扩展已有的类但有不会破坏它原有的代码。并且不会膨胀出很多的子类。
评论