架构师第三周

用户头像
Tulane
关注
发布于: 2020 年 06 月 24 日

本周仍是围绕设计模式or设计原则来讲 架构, 所有设计模式设计原则, 都是围绕着 强内聚, 低耦合 的中心思想



设计模式和原则是架构的手段与思想, 使用他们可以构建出一个良好的架构



举个例子: Spring的依赖注入



  • 使用类似简单工厂模式的扩展版本, 利用配置文件的方式, 由框架的工厂去实现接口类的创建

  • 使用的模式是简单工厂加配置文件, 达到的效果是符合了开闭原则, 用户通过修改配置文件即可改变接口的实现类



本周还讲了很多模式, 就模式来说目前分三个类型



  • 创建模式: 对类的实例化过程的抽象

  • 结构模式: 将类或对象结合在一起形成更大的结构

  • 行为模式: 对在不同的对象之间划分责任和算法的抽象



还有一种分类是分为类模式、对象模式



  • 类模式: 继承实现, 静态

  • 对象模式: 组合实现, 动态



各种模式中, 模板方法是我实际工作中使用最多的模式, 因为很多场景下的部分逻辑是通用的, 但内部的一些细分却不同, 使用模板方法能使我的代码复用度更高, 逻辑更加清晰(因为定义好模板其实就是定义了流程)



其实实现了一个模板方法, 就像是实现了一个架构, 它本身符合依赖倒置原则, 我去调用实现了我的子类的方法, 子类的方法是在我控制的一个生命周期内运行的.(这里是利用抽象方法的方式让子类实现)



Junit框架本身也是利用了模板方法, 规定了setUp等钩子方法, 实现了runBase这样的模板方法, 去运作runTest这种抽象方法, 以及其他钩子方法, 组成了一套Junit执行时的生命周期



装饰器模式之前接触的不多, 这次的课帮我好好的补足了些知识



  • 装饰器模式的显著特点:

  • 构造函数中会传入与它一样接口的对象

  • 装饰器和被装饰类都是实现了同一个接口

  • 装饰器是去调用传入对象的方法, 并扩展外围功能, 在调用传入对象方法的前后可以自定义操作



这使我想到了代理模式, 一样也是去扩展外围功能



用户头像

Tulane

关注

还未添加个人签名 2018.09.18 加入

还未添加个人简介

评论

发布
暂无评论
架构师第三周