随笔分类 - 设计模式
设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。
摘要:注:本文来自https://blog.csdn.net/zhengzhb/article/details/7359385 定义:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类。 类型:创建类模式 抽象工厂模式与工厂方法模式的区别 抽象工厂模式是工厂方法模式的升级版本,他用来创建
阅读全文
摘要:注:本文来自https://blog.csdn.net/wyxhd2008/article/details/5597975 定义区别: 工厂模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类 抽象工厂模式:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类 区别在于产品,如
阅读全文
摘要:1、单一职责原则 单一职责原则(Single Responsibility Principle, SRP):一个类只负责一个功能领域中的相应职责,或者可以定义为:就一个类而言,应该只有一个引起它变化的原因。 单一职责原则是实现高内聚、低耦合的指导方针,它是最简单但又最难运用的原则,需要设计人员发现类
阅读全文
摘要:地址:https://blog.csdn.net/LoveLion/article/details/17517213
阅读全文
摘要:命令模式: 将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。 实例代码: Command类,用来声明执行操作的接口。 ConcreteCommond类,将一个接收者对象绑定到于一个动作,调用接收者相应的操作,以实现Execute。 I
阅读全文
摘要:享元模式: 运用共享技术有效地支持大量细粒度的对象。 示例代码: Flyweight类,它是所有具体享元类的超类或接口,通过这个接口,Flyweight可以接受并作用于外部状态。 ConcreteFlyweight是继承Flyweight超类或实现Flyweight接口,并为内部状态增加存储空间。
阅读全文
摘要:建造者模式: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 示例代码: Product类————产品类,由多个部件组成。 Builder类————抽象建造者类,确定产品由两个部件PartA和PartB组成,并声明一个得到产品建造后结果的方法GetResult。 Conc
阅读全文
摘要:设计模式: 它定义了算法家族,分别封装起来,让它们之间可以替换,此模式让算法的变化,不会影响到使用算法的客户。 示例代码: Strategy类,定义所有支持的算法的公共接口 ConcreteStrategy,封装了具体的算法或行为,继承于Strategy Context,用一个ConcreteStr
阅读全文
摘要:责任链模式: 使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 代码示例: Handler类,定义一个处理请示的接口。 ConcreteHandler类,具体处理者类,处理它所负责的请求,可访问它的后继者
阅读全文
摘要:组成: 抽象角色:通过接口或抽象类声明真实角色实现的业务方法。 代理角色:实现抽象角色,是真实角色的代理,通过真实角色的业务逻辑方法来实现抽象方法,并可以附加自己的操作。 真实角色:实现抽象角色,定义真实角色所要实现的业务逻辑,供代理角色调用。 代理模式: 为其他对象提供一种代理以控制对这个对象的访
阅读全文
摘要:__桥接模式__ 将抽象部分与它的实现部分分离,使它们都可以独立地变化。 ConcreteImplementorA 和 ConcreteImplementorB等派生类 Abstraction类 RefinedAbstraction类 客户端实现
阅读全文
摘要:观察者模式又叫做发布 订阅模式。 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生 变化时,会通知所有观察者对象,使它们能够自动更新自己。 Subject类,可翻译为主题或抽象通知者,一般用一个抽象类或者一个接口实现。它把所有对观察者对象的引用保存
阅读全文
摘要:装饰者模式,顾名思义,就是将某个类重新装扮一下,使得它比原来更"漂亮",或者在功能上更强大,这就是装饰者模式所要达到的目的。但是作为原来的这个类的使用者还不应该感受到装饰前与装饰后有什么不同,否则就破坏了原有类的结构了,所以装饰器模式要做到对被装饰类的使用者透明,这是对装饰器模式的一个要求。 装饰者
阅读全文
摘要:对适配器模式的功能很好的理解,就是把一个类的接口变成客户端所能接受的另一种接口,从而使两个接口不匹配而无法在一起工作的两个类能够在一起工作。 通常被用在一个项目需要引用一些开源框架来一起工作的情况下,这些框架的内部都有一些关于环境信息的接口,需要从外部传入,但是外部的接口不一定能匹配,在这种情况下,
阅读全文
摘要:什么是工厂方法模式 工厂方法模式(Factory Method pattern)是一种常用的对象创建型设计模式,此模式的核心精神是封装类中不变的部分,提取其中个性化善变的部分为独立类,通过依赖注入以达到解耦、复用和方便后期维护拓展的目的。 它的核心结构有四个角色,分别是抽象工厂;具体工厂;抽象产品;
阅读全文
摘要:什么是简单工厂模式 简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。 简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。 简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现
阅读全文
摘要:什么是单例模式 单例模式,是一种常用的软件设计模式。 在它的核心结构中只包含一个被称为单例的特殊类。 通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例。 单例模式分别有懒汉模式与饿汉模式。 懒汉模式: 注:为何称他为懒汉呢?我们可以把他当成一个酒店员工,因为他比
阅读全文