
设计模式
文章平均质量分 90
无忧少年
只想当一个无忧无虑的少年
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
设计模式——组合模式
组合模式@author lisiwen@createTime 2019/12/25 组合模式(Composite):将对象组合成树形结构以表示‘部分-整体’的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。 组合模式(Composite)结构图代码示例:Component.java/** * @ProjectName: d...原创 2020-01-19 15:19:11 · 143 阅读 · 0 评论 -
设计模式——终结者模式
中介者模式@author lisiwen@createTime 2020/01/08 **中介者模式(Mediator):**用一个中介者对象来封装一系列的对象交互。中介者使各个对象不需要显示地互相引用,从而使其耦合松散,而且可以独立的改变他们之间的交互。代码示例Colleague.java/** * @ProjectName: designpattern * @Clas...原创 2020-01-19 15:18:30 · 3813 阅读 · 1 评论 -
设计模式——责任链模式
# 责任链模式@author lisiwen@createTime 2020/01/07 **职责链模式(Chain of Responsibility):**使多个对象都有机会处理请求,这样避免请求的发送者和接受者之间的耦合关系。将这个 对象连胜一条链,并沿着这条链传递该请求,直到有一个对象处理它为止.代码示例:Handler.java/** * @ProjectName...原创 2020-01-19 15:15:42 · 119 阅读 · 0 评论 -
设计模式——享元模式
享元模式@author 李思文@createTime 2020/01/14 **享元模式(Flyweight):**运用共享技术有效地支持大量细粒度的对象。代码示例:Flyweight.java/** * @ProjectName: designpattern * @ClassName: Flyweight * @Description: 它是所有具体享元类的超类或接口...原创 2020-01-19 15:14:52 · 134 阅读 · 0 评论 -
设计模式——适配器模式
适配器模式@auther lisiwen@createTime 2019/12/23 适配器模式(Adapter):将一个类的几口转换为客户希望的另外一个接口。Adapter模式似的原本由于接口不兼容而不能一起工作的那些 类可以一起工作。 适配...原创 2020-01-19 15:13:41 · 105 阅读 · 0 评论 -
设计模式——桥接模式
桥接模式@author lisiwen@createTime 2019/12/31 **桥接模式(Bridge):**将抽象部分与它的实现部分分离,使它们都可以独立的变化。抽象与它的实现分离:这并不是说,让抽象与其派生类分离,因为这没有任何意义。实现指的是抽象类和它的派生类用来实现自己的对象。桥接模式的代码实现Implementor.java/** * @Project...原创 2020-01-19 15:12:51 · 127 阅读 · 0 评论 -
设计模式——命令模式
命令模式@author lisiwen@createTime 2020/01/02 **命令模式(Command):**将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。代码示例:Command.java/** * @ProjectName: designpattern * @ClassName: Comma...原创 2020-01-19 15:12:02 · 107 阅读 · 0 评论 -
设计模式——迭代器模式
迭代器模式@author lisiwen@createTime 2019/12/26 **迭代器模式(Iterator):**提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。迭代器代码示例Aggregate.java/** * @ProjectName: Aggregate * @ClassName: Main * @Description: A...原创 2020-01-19 15:10:59 · 119 阅读 · 0 评论 -
设计模式——单例模式
单例模式@author lisiwen@createTime 2019/12/30 **单例模式(Singleton):**保证一个类仅有一个实例,并提供一个访问它的全局访问点。 通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对象。一个最好的办法就是,让类自身负责保存它的唯一实例。这个类可以保证没有其他实例可以被创建,并且它可以提供一个访问该实例的方法。...原创 2020-01-19 15:09:52 · 104 阅读 · 0 评论 -
设计模式——备忘录模式
备忘录模式@author lisiwen@createTime 2019/12/24 备忘录模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态 备忘录模式(Memento)结构图 Originator(发起人):负责创建一个备忘录Memento,用以记录当前时刻它的内部状态,并...原创 2020-01-19 15:08:24 · 143 阅读 · 0 评论 -
设计模式——抽象工厂模式
设计模式——抽象工厂模式@author 无忧少年@createTime 2019/10/16抽象工厂模式:提供一个 创建一系列相关或相互依赖对象的接口,而无需指定他们具体的类。抽象工厂模式(Abstract Factory)结构图 抽象工厂模式代码示例:// 用户接口public interface IUser { void Insert(User user); ...原创 2019-11-04 08:52:41 · 103 阅读 · 0 评论 -
设计模式——状态模式
状态模式@author 无忧少年@createTime 2019/11/02**状态模式(State):**当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。 状态模式主要解决的时当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类当中,可以把复杂的判断逻辑简化。当然如果这个状态判断非常简单,那就没必要使用状态模式了...原创 2019-11-04 08:48:34 · 153 阅读 · 0 评论 -
设计模式——外观模式
外观模式@author 无忧少年@createTime 2019/8/25 外观模式:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这以子系统更加容易使用。外观模式结构图代码例子:四个子系统的类:class SubSystemOne{ public void MethodOne(){ System.out.print...原创 2019-08-25 14:52:47 · 138 阅读 · 0 评论 -
设计模式——策略模式
设计模式——策略模式@author lisiwen@createTime 2019/7/16 策略模式: 它定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户端策略模式简单的说就是用户在客户端自己选择对应的策略也就是选择算法。策略模式结构图:将我在简单工厂模式中的计算器的算法用策略模式实现的代码如下:// 运算类publi...原创 2019-08-25 14:26:32 · 246 阅读 · 0 评论 -
设计模式——简单工厂模式
设计模式——单工厂模式@author lisiwen@createTime 2019/7/9 **简单工厂模式:**用一个简单的类来做创造实例的过程,根据用户的选择来实例化相应的类,这个就是工厂。下面举个例子。具体实现如下:// 运算类public interface Operation { public double getResult(double numb...原创 2019-08-25 14:28:53 · 166 阅读 · 0 评论 -
设计模式——装饰模式
设计模式——装饰模式@author lisiwen@createTime 2019/7/19**装饰模式:**动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。装饰器模式结构图: 这个设计模式最开始还不是很理解,跟着书敲了个例子,然后跟着代码走一遍才慢慢的理解的了这个设计模式,例子如下:Person.class// "Person"类 p...原创 2019-08-25 14:29:53 · 159 阅读 · 0 评论 -
设计模式——简工厂方法模式
工厂方法模式@author 无忧少年@createTime 2019/7/30**工厂方法模式: **定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到子类。工厂方法模式结构图[外链图片转存失败(img-EKzADkKZ-1566715292236)(图片\工厂方法模式结构图.png)] 工厂方法模式和简单工厂模式最主要的区别就是在在简单工厂模...原创 2019-08-25 14:43:09 · 129 阅读 · 0 评论 -
设计模式——原型模式
原型模式@author 无忧少年@createTime 2019/7/31原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 原型模式结构图例子:CollegeStudent 大学生实现类...原创 2019-08-25 14:44:20 · 153 阅读 · 0 评论 -
设计模式——模板方法模式
模板方法模式@author 无忧少年@createTime 2019/08/01 **模板方法模式:**定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定步骤。模板方法模式结构图 模板方法主要是将不变的行为或者说是通用的方法放到父类里边,去除子类中的重复代码,实现代码的复用。 在我们的项目中也用...原创 2019-08-25 14:45:39 · 131 阅读 · 0 评论 -
设计模式——代理模式
代理模式@author 无忧少年@createTime 2019/7/29代理模式:为其他对象提供一种代理以控制对这个对象的访问。代理模式(Proxy)结构图[外链图片转存失败(img-Elh2WlTC-1566715642381)(图片\代理模式结构图.png)] Subject类,定义了RealSubject和Proxy的公用接口,这样就在任何使用RealSubject的地方...原创 2019-08-25 14:47:45 · 121 阅读 · 0 评论 -
设计模式——观察者模式
观察者模式@author 无忧少年@createTime 2019/08/20观察者模式:定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主体对象在状态发生变化时,会通知所有观察者对象,使他们能够自动更新自己。观察者模式又叫发布-订阅模式 ...原创 2019-08-25 14:49:12 · 162 阅读 · 0 评论 -
设计模式——建造者模式
建造者模式@author 无忧少年@createTime 2019/8/25**建造者模式:**将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式结构图相应代码:/** * @description: 抽象建造者 * @author: lisiwen * @create: 2019-08-07 11:19 **/abstract cl...原创 2019-08-25 14:51:07 · 125 阅读 · 0 评论 -
设计模式的基本原则
文章目录设计模式的基本原则1. 单一职责原则2. 开放-封闭原则3. 依赖倒转原则4. 里氏代换原则5.迪米特法则设计模式的基本原则@author lisiwen@createTime 2019/7/91. 单一职责原则单一职责原则(SRP : Single responsibility principle):就一个类而言,应该仅有一个引起它变化的原因。 单一职责中的职责我理解...原创 2019-08-11 16:50:03 · 302 阅读 · 0 评论