![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
洲洋的编程课堂
希望组件一个快乐的编程社区
展开
-
设计模式 - 桥接
桥接(Bridge)Intent将抽象与实现分离开来,使它们可以独立变化。Class DiagramAbstraction:定义抽象类的接口Implementor:定义实现类接口 ImplementationRemoteControl 表示遥控器,指代 Abstraction。TV 表示电视,指代 Implementor。桥接模式将遥控器和电视分离开来,从而可以独立改变遥...原创 2020-02-05 17:54:30 · 117 阅读 · 0 评论 -
设计模式 - 目录
一、前言设计模式是解决问题的方案,学习现有的设计模式可以做到经验复用。拥有设计模式词汇,在沟通时就能用更少的词汇来讨论,并且不需要了解底层细节。二、创建型单例.md简单工厂.md工厂方法.md抽象工厂.md生成器.md原型模式.md三、行为型责任链.md命令.md解释器.md迭代器.md中介者.md备忘录.md观察者.md状态.md策略.md模板方法.m...原创 2020-02-01 18:18:58 · 85 阅读 · 0 评论 -
设计模式 - 模板方法
模板方法(Template Method)Intent定义算法框架,并将一些步骤的实现延迟到子类。通过模板方法,子类可以重新定义算法的某些步骤,而不用改变算法的结构。Class Diagram Implementation冲咖啡和冲茶都有类似的流程,但是某些步骤会有点不一样,要求复用那些相同步骤的代码。 public abstract class CaffeineBevera...原创 2020-02-01 18:18:23 · 66 阅读 · 0 评论 -
设计模式 - 命令
2. 命令(Command)Intent将命令封装成对象中,具有以下作用:使用命令来参数化其它对象将命令放入队列中进行排队将命令的操作记录到日志中支持可撤销的操作Class DiagramCommand:命令Receiver:命令接收者,也就是命令真正的执行者Invoker:通过它来调用命令Client:可以设置命令与命令的接收者 Implementation...原创 2020-02-01 18:17:20 · 114 阅读 · 0 评论 -
设计模式 - 空对象
空对象(Null)Intent使用什么都不做的空对象来代替 NULL。一个方法返回 NULL,意味着方法的调用端需要去检查返回值是否是 NULL,这么做会导致非常多的冗余的检查代码。并且如果某一个调用端忘记了做这个检查返回值,而直接使用返回的对象,那么就有可能抛出空指针异常。Class Diagram Implementationpublic abstract class Abs...原创 2020-02-01 18:16:44 · 121 阅读 · 0 评论 -
设计模式 - 单例
单例(Singleton)Intent确保一个类只有一个实例,并提供该实例的全局访问点。Class Diagram使用一个私有构造函数、一个私有静态变量以及一个公有静态函数来实现。私有构造函数保证了不能通过构造函数来创建对象实例,只能通过公有静态函数返回唯一的私有静态变量。 ImplementationⅠ 懒汉式-线程不安全以下实现中,私有静态变量 uniqueInstance...原创 2020-02-01 18:02:19 · 75 阅读 · 0 评论 -
面向对象思想
一、三大特性封装继承多态二、类图泛化关系 (Generalization)实现关系 (Realization)聚合关系 (Aggregation)组合关系 (Composition)关联关系 (Association)依赖关系 (Dependency)三、设计原则S.O.L.I.D其他常见原则参考资料一、三大特性封装利用抽象数据类型将数据...原创 2020-02-01 18:00:28 · 172 阅读 · 0 评论