加载中
设计模式(23) 访问者模式

由于应用开发过程中先前完成的类型会因为需求变化(无论是业务功能,还是技术实现或是出于集成的需要)增加新的方法,如果直接在基类中增加新的方法,其派生类型可能需要相应进行比较繁琐的处...

设计模式(22) 策略模式

在策略模式中,一个类的行为或算法可以在运行时动态更改。 GOF对策略模式的描述为: Define a family of algorithms, encapsulate each one, and make them interchangeable. Strategy lets ...

2020/09/19 20:45
241
设计模式(21) 状态模式

状态模式允许一个对象在其内部状态改变时改变它的行为。用电梯来举例,电梯可以认为具有开门、关门、运行、停止四种状态,这四种状态之间的切换具有多种限制,比如在开门状态下不电梯不能运行...

设计模式(20) 观察者模式

观察者模式是一种平时接触较多的模式。它主要用于一对多的通知发布机制,当一个对象发生改变时自动通知其他对象,其他对象便做出相应的反应,同时保证了被观察对象与观察对象之间没有直接的依...

2020/08/29 21:54
162
设计模式(19) 备忘录模式

备忘录模式可以在不破坏封装的前提下,将一个对象的状态捕捉(Capture)住,并在外部存储,从而可以在需要的时候把这个对象还原到存储起来的状态。备忘录模式常常与命令模式和迭代器模式一同使...

设计模式(18) 中介者模式

一个软件系统中往往包含了很多的类,这些类之间会存在互相的调用,随着系统的升级、功能的扩展,这些相互调用关系会变得非常复杂,,大量的相互连接使得这样一个类型系统不太可能在没有其他类...

设计模式(16) 命令模式

命令模式 适用场景 Redo & Undo 命令模式的优缺点 命令模式 命令模式是对一类对象公共操作的抽象,它们具有相同的方法签名,所以具有类似操作,可以被抽象出来,成为一个抽象的“命令”对象。...

2020/08/05 21:57
121
设计模式(15) 解释器模式

项目中有时会遇到某类问题出现得非常频繁,而且它们的变化也基本上以一些规律性的方式进行变化。对于这类问题,如果编写一个对象类进行处理,随着业务变更,将需要频繁地修改代码、编译、部署...

2020/08/03 21:10
134
设计模式(14) 模板方法模式

模板方法模式 模板方法模式是面向对象系统中非常朴实的一种模式,体现出面向对象设计中继承和多态的基本特征。在开发应用的过程中,往往会在初期规划一些较粗粒度的算法,而且对参与计算的对...

设计模式(13) 职责链模式

行为型模式 行为型模式关注于应用运行过程中算法的提供和通信关系的梳理。 相比于创建型模式和结构型模式,行为型模式包含了最多的设计模式种类,包括: 职责链模式 模板方法模式 解释器模式...

2020/07/29 22:13
209
设计模式(12) 代理模式

代理模式的目地是为对象提供一种代理以控制对这个对象的访问。为什么会出现“通过一个代理对象,控制其他对象访问目标对象”这种场景,而不知直接new()出一个对象直接使用呢?这是因为在有些...

2020/07/27 17:09
87
设计模式(10) 外观模式

外观模式(或门面模式、包装模式)是设计模式中非常朴素地体现面向对象“封装”概念的模式,它的基本原理是将复杂的内部实现以统一接口的方式暴露出来,最大程度地减少客户程序对某些子系统内...

设计模式(9) 装饰模式

装饰模式 装饰模式的特点 动态撤销功能 装饰模式可以动态向一个现有的对象添加新的功能,同时又不改变其结构。就增加功能来说,使用继承的方式生成子类也可以达到目的,但随着扩展功能的不断...

2020/07/20 20:49
115
设计模式(7) 桥接模式

桥接模式的概念与实现 为什么叫桥接模式 桥接模式的适用场景 继承是面向对象的三大特性之一,但很多时候使用继承的结果却不尽如人意。除了人尽皆知的紧耦合问题外,有的时候还会导致子类的快...

设计模式(6) 适配器模式

结构型模式 适配器模式 类适配器和对象适配器 结构型模式 结构型模式的重点在于如何通过灵活的体系组织不同的对象,并在此基础上完成更为复杂的类型(或者类型系统),而参与组合的各类型之间...

2020/07/13 21:40
210

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部