![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 51
WideHunt
这个作者很懒,什么都没留下…
展开
-
包装模式
包装模式(装饰者模式) 作用:包装模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。 角色: Component:定义一个对象接口,可以给这些对象动态地添加职责 ConcreteComponent:定义一个对象,可以给这个对象添加一些职责 Decorator:维持一个指向Component对象的指针,并定义一个与Compon...转载 2020-03-02 20:34:21 · 352 阅读 · 0 评论 -
代理模式
代理模式 作用:为其他对象提供一种代理以控制对这个对象的访问。这样实现了业务和核心功能分离。 角色: subject:抽象角色。声明真实对象和代理对象的共同接口。 proxy:代理角色。代理对象与真实对象实现相同的接口,所以它能够在任何时刻都能够代理真实对象。代理角色内部包含有对真实对象的引用,所以她可以操作真实对象,同时也可以附加其他的操作,相当于对真实对象进行封装。 realsubject:真...转载 2020-03-02 19:59:25 · 179 阅读 · 0 评论 -
外观模式
外观模式 作用:隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。属于结构型模式。这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。提高子系统的独立性和可移植性.简化了类之间的依赖关系 使用场景: 当你要为一个复杂子系统提供一个简单接口时 客户程序与抽象类的实现部分之间存在着很大的依赖性 当你需要构建一个层次结构的子系统时 代码示例 #inc...转载 2020-03-02 19:43:52 · 142 阅读 · 0 评论 -
原型模式
本文章转载:https://blog.csdn.net/u014337397/article/details/80387482 原型模式 作用:用原型实例来指定出创建对象的总类,并且通过拷贝这些原型来创建新的对象。 使用场景: 当一个系统应该独立于它的产品创建、构成和表示的时候 当要实例化的类是在运行时刻指定的时候,如通过动态加载 为了避免创建一个与产品类层次平行的工厂类层次时 当一个类的实例只...转载 2020-03-02 19:31:54 · 133 阅读 · 0 评论 -
适配器模式
适配器模式 定义:将某个类的接口转换为接口客户所需的类型。换句话说,适配器模式解决的问题是,使得原本由于接口不兼容而不能一起工作、不能统一管理的那些类可以在一起工作、可以进行统一管理。做法是将类自己的接口包裹在一个已存在的类中。 举例:这里有厨师接口 ICooker、程序员接口 IProgrammer,分别用于定义他们各自工种的具体工作。然后又定义了全聚德的厨师 QjdCooker、京东的程序员J...原创 2020-03-02 19:25:10 · 206 阅读 · 0 评论 -
单例模式
单例模式 作用:保证为一个类只生成唯一的实例对象。也就是说,在整个程序空间中,该类只存在一个实例对象 应用场景: 1.资源共享的情况下,避免由于资源操作时导致的性能或损耗等。如上述中的日志文件,应用配置。 2.控制资源的情况下,方便资源之间的互相通信。如线程池等。 3.设备管理器,系统中可能有多个设备,但是只有一个设备管理器,用于管理设备驱动; 基础要点: 全局只有一个实例:static 特性,...原创 2020-03-02 09:29:18 · 137 阅读 · 0 评论