架构师第三周
本周仍是围绕设计模式or设计原则来讲 架构, 所有设计模式设计原则, 都是围绕着 强内聚, 低耦合 的中心思想
设计模式和原则是架构的手段与思想, 使用他们可以构建出一个良好的架构
举个例子: Spring的依赖注入
使用类似简单工厂模式的扩展版本, 利用配置文件的方式, 由框架的工厂去实现接口类的创建
使用的模式是简单工厂加配置文件, 达到的效果是符合了开闭原则, 用户通过修改配置文件即可改变接口的实现类
本周还讲了很多模式, 就模式来说目前分三个类型
创建模式: 对类的实例化过程的抽象
结构模式: 将类或对象结合在一起形成更大的结构
行为模式: 对在不同的对象之间划分责任和算法的抽象
还有一种分类是分为类模式、对象模式
类模式: 继承实现, 静态
对象模式: 组合实现, 动态
各种模式中, 模板方法是我实际工作中使用最多的模式, 因为很多场景下的部分逻辑是通用的, 但内部的一些细分却不同, 使用模板方法能使我的代码复用度更高, 逻辑更加清晰(因为定义好模板其实就是定义了流程)
其实实现了一个模板方法, 就像是实现了一个架构, 它本身符合依赖倒置原则, 我去调用实现了我的子类的方法, 子类的方法是在我控制的一个生命周期内运行的.(这里是利用抽象方法的方式让子类实现)
Junit框架本身也是利用了模板方法, 规定了setUp等钩子方法, 实现了runBase这样的模板方法, 去运作runTest这种抽象方法, 以及其他钩子方法, 组成了一套Junit执行时的生命周期
装饰器模式之前接触的不多, 这次的课帮我好好的补足了些知识
装饰器模式的显著特点:
构造函数中会传入与它一样接口的对象
装饰器和被装饰类都是实现了同一个接口
装饰器是去调用传入对象的方法, 并扩展外围功能, 在调用传入对象方法的前后可以自定义操作
这使我想到了代理模式, 一样也是去扩展外围功能
评论