设计模式
软件工程基础课程
DUT_LYH
这个作者很懒,什么都没留下…
展开
-
设计模式-策略模式单例模式
策略模式 对象使用的算法是变化的,对象是稳定的 将稳定和稳定的部分隔离开 面向接口编程 之后使用工厂模式 单件模式 系统中特殊的类 只能出现一个实例 设计一种方法 只能发回一个对象 绕过常规的构造器 只提供一个对象 方法: 1.构造函数 和 拷贝函数都写成private的 屏蔽系统的构造函数 2. 自己写一个create函数 静态的 但是多线程是不安全的 线程安全版本,但是有性能瓶颈 双...原创 2019-05-08 11:01:16 · 309 阅读 · 0 评论 -
设计模式-适配器模式adapter中介者模式
适配器模式接口隔离 两者之间添加接口 在软件系统中,由于应用环境的变化, 常常需要将“一些现存的对象”放在新的环境中应用,但是新环境要求的接口是这些现存对象所不满足的。 如何应对这种迁移的变化"?如何既能利用现,同时又能满足新的应用环境所要求的接口有对象的良好实现, 不修改代码,添加代码 将一个类的接口,转化成另一个类的接口 //目标接口*新接口 class ITarget{ public:...原创 2019-05-20 10:28:58 · 511 阅读 · 0 评论 -
设计模式-门面模式
组件的构建过程中,组件之间直接的依赖会带来问题,添加一层中间的稳定接口来实–现 间接 c++指针 硬件--软件--人 硬件--操作系统--软件--人 依赖倒置原则 不要和容易发生变化的东西发生依赖 Facade 简化外部客户程序和内部系统之间的耦合 要点 简化接口 从架构的层次不是单个类的层次 子系统之间是低耦合 子系统内部是高内聚的 ...原创 2019-05-15 10:56:21 · 198 阅读 · 0 评论 -
设计模式-代理模式proxy
代理模式proxy 加一个统一的接口,接口内部提供安全控制的逻辑 将复杂性屏蔽在类内 要点 增加间接层,实现方法,实现粒度相差很大 可以对单个对象做细粒度的控制 也可以对组件的模块提供抽象的代理层 应用场景 远程 虚拟 安全 智能 “接口”隔离模式 在组件构建的过程中,某些接口的直接依赖常常会带来很多问题,采用增加一层间接访问层的方法来实现 facade proxy adapter medi...原创 2019-05-22 10:10:38 · 192 阅读 · 0 评论 -
设计模式-桥模式备忘录模式
桥模式 类比装饰器模式 将继承改写为组合,使用抽象接口指针 重构上课的演示代码: 在这里插入代码片 备忘录 回退 不暴露对象实现的细节 不破坏封装性的前提下对对象进行保存 专门写一个类进行状态的存储 ...原创 2019-05-27 10:55:11 · 128 阅读 · 0 评论 -
设计模式-状态模式组合模式迭代器模式
组合模式 组件在内部具有特定的数据结构 用户操作 但是不想让得知内部的实施细节 用户对组件的内部的对象操作 用户操作一个对象原创 2019-05-29 10:31:48 · 325 阅读 · 0 评论 -
设计模式课程总结
设计原则 依赖倒置原则: 稳定的不应该变化的 开放封闭原则: 对更改和添加是开放的 单一职责原则 一个类只有一个变化的方向 对于每一个变化方向变成一个类 Liskov替换原则 接口隔离原则: 接口应该小而完备 对象组合优于类继承 在一个类里面放入其他类的指针 封装变化点: 面向接口编程: 重构技法: 静态绑定转化为动态绑定 早绑定 转化为 晚绑定 继承 转 组合 :...原创 2019-06-10 10:12:08 · 934 阅读 · 0 评论