
设计模式
文章平均质量分 78
Siveens
不积跬步无以至千里,不积小流无以成江海!
展开
-
《设计模式》之适配器模式
把一个类的接口转换成客户端所期待的另一种接口,从而使原接口不匹配而无法再一起工作的两个类能在一起工作。Adapter模式主要应用与“希望复用一些现存的类,但是接口又与复用环境要求不一致的情况”,遗留代码复用、类库迁移等方面非常有用。GoF23定义了两种Adapter模式的实现结构:对象适配器和类适配器。但类适配器采用“多继承”的实现方式,一般不推荐使用。对象适配器采用“对象组合”的方式,更符合松耦合精神。Adapter模式可以实现的非常灵活,不必拘泥于GoF23中定义的两种结构。原创 2023-06-14 22:33:45 · 1469 阅读 · 0 评论 -
23种设计模式概念
介绍23种设计模式思想原创 2023-06-11 19:59:30 · 1871 阅读 · 0 评论 -
《设计模式》之装饰器模式
动态(组合)地给一个对象增加一些额外的职责。就增加功能而言,Decorator模式比生成子类(继承)更为灵活(消除重复代码&减少子类个数)。通过采用组合而非继承的手法,Decorator模式实现了在运行时动态扩展对象功能的能力,而且根据需要扩展多个功能。避免了使用继承带来的“灵活性差”和“多子类衍生问题”。Decorator类在接口上表现为is-a Component的继承关系,即Decorator类继承了Component类所具有的接口。原创 2023-06-11 17:58:19 · 1186 阅读 · 0 评论 -
《设计模式》之解释器模式
给定一个语言,定义它的文法的一种表示,并定义一种解释器,这个解释器使用该表示来解释语言中的句子。Interpreter模式的应用场合时Interpreter模式应用中的难点,只有满足“业务规则频繁变化,且类似的结构不断重复出现,并且容易抽象为语法规则的问题”才适合使用Interpreter模式。使用Interpreter模式来表示文法规则,从而可以使用面向对象技巧来方便地“扩展”文法。原创 2023-06-10 00:04:35 · 877 阅读 · 1 评论 -
《设计模式》之单例模式
保证一个类仅有一个实例,并提供一个该实例的全局访问点。Singleton模式中的实例构造器可以设置为protected以允许子类派生。Singleton模式一般不要支持拷贝构造函数和Clone接口,因为这有可能导致多个对象实例,与Singleton模式的初衷违背。如何实现多线程环境下安全的Singleton?注意对双检查锁的正确实现。原创 2023-05-15 22:22:50 · 419 阅读 · 1 评论 -
《设计模式》之命令模式
将一个请求封装为一个对象,从而使你可用不同的请求对客户端进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。Command模式分根本目的在于将“行为请求者”与“行为实现者”解耦,在面向对象语言中,常见的实现手段是“将行为抽象为对象”。实现Command接口的具体命令对象ConcreteCommand有时候根据需要可能会保存一些额外的状态信息。通过使用Composite模式,可以将多个“命令”封装为一个“复合命令”MacroCommand。Command模式与C++中的函数对象有些类似。原创 2023-06-07 22:48:42 · 649 阅读 · 0 评论 -
《设计模式》之状态模式
允许一个对象在其内部改变时改变它的行为,从而使对象看起来改变了其行为。State模式将所有与一个特定状态相关的行为都放入一个State的子类对象中,在对象状态切换时,切换相应的对象;但同时维持State的接口,这样实现了具体操作与状态转换之间的解耦。为不同的状态引入不同的对象使得状态转换变得更加明确,而且可以保证不会出现状态不一致的情况,因为转换是原子性的——即要么彻底转换过来,要么不转换。如果State对象没有实例变量,那么各个上下文可以共享一个State对象,从而节省对象开销。原创 2023-06-05 21:33:49 · 477 阅读 · 0 评论 -
《设计模式》之抽象工厂模式
介绍抽象工厂设计思想原创 2023-04-22 23:16:56 · 192 阅读 · 0 评论 -
《设计模式》之工厂方法
简单工厂方法设计思想原创 2023-04-22 23:03:17 · 163 阅读 · 0 评论 -
《设计模式》之观察者模式
观察者模式又称订阅–发布,目标就是通知的发布者,观察者使通知的订阅者(接收通知)使用面向对象的抽象,观察者模式可以独立的改变目标和观察者,从而使二者之间的依赖关系达到松耦合目标发送通知书时,无需指定观察者,通知可以自动传播观察者自己决定是否需要订阅通知,目标对象无感知观察者模式是基于事件的UI框架中常用的设计模式,是MVC的重要组成部分。原创 2023-04-22 20:28:16 · 83 阅读 · 0 评论 -
《设计模式》之策略模式
介绍设计模式中策略模式的设计思想和意义原创 2023-04-22 18:28:52 · 185 阅读 · 0 评论 -
《设计模式》之模板方法
介绍模板方法的设计思想和意义原创 2023-04-22 17:51:59 · 108 阅读 · 0 评论 -
《设计模式》之八大设计原则
面向对象设计8大设计原则介绍原创 2023-04-22 16:46:46 · 826 阅读 · 0 评论