![](https://img-blog.csdnimg.cn/20190927162606724.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
软件设计模式
文章平均质量分 53
常见的面向对象软件设计模式
程序员荣荣
字节跳动后端工程师 | 持续学习,保持敬畏
展开
-
设计模式(9)-题外话:UML图介绍
UML图普遍用于编程中的流程表达,方便我们梳理类自身的关系或者类与类,类与接口的依赖关系等,也是学习设计模式、看懂类关系的基础。可以在实际编码前先画UML图用来表达流程,方便自己和他人理解代码。 一、UML图用来表示类与接口 1、Student类 public class Student { private Long id; private Strin...原创 2020-01-29 15:20:05 · 1232 阅读 · 0 评论 -
设计模式(8)-迭代器模式
文章目录一、迭代器模式的相关表示1.1、迭代器角色(`Iterator`)1.2、具体迭代器角色(`Concrete Iterator`)1.3、容器角色(`Aggregate`)1.4、具体容器角色(`ConcreteAggregate`)二、List中关于迭代器的实现 迭代器模式(Iterator),提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示。 一、迭代器...原创 2018-12-03 22:36:33 · 224 阅读 · 0 评论 -
设计模式(7)-模板方法模式
文章目录一、模板方法模式的定义二、模板方法模式的使用 更多关于设计模式的文章请点击:设计模式之禅(0)-目录页 模板方法模式是23种设计模式中的一种,与其说它是一种设计模式,我更加偏向于认为它是一种设计的思想。 一、模板方法模式的定义 模板方法模式(Template Pattern),一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式...原创 2018-11-30 20:54:31 · 227 阅读 · 0 评论 -
设计模式(4)-工厂模式
文章目录一、简单工厂模式1.1、单一new方式1.2、简单工厂模式二、抽象工厂及工厂方法2.1、将简单工厂改造成抽象工厂2.2、为抽象工厂中添加工厂方法三、工厂模式总结 更多关于设计模式的文章请点击:设计模式之禅(0)-目录页 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 一、简单工厂模式...原创 2018-11-26 21:50:49 · 339 阅读 · 0 评论 -
设计模式(6)-单例模式
文章目录一、单件模式的实现二、在并发下单件模式的改进2.1、使用闭锁测试单件模式的正确性2.2、使用同步锁改进单件模式2.3、使用二重检查加锁来改进单件模式 单件模式是面向对象设计模式中常用的一种设计模式,它主要的作用是使得某个对象在全局程序中只有唯一的一个实例,并且在全局中只有一个创建实例的访问点。这种模式通常采用在线程池、连接池、单一记录器等的使用和实现中。 一、单件模式的实现 单件模...原创 2018-11-29 11:36:37 · 277 阅读 · 0 评论 -
设计模式(3)-装饰者模式
文章目录一、装饰者模式的特点二、装饰者模式的使用情景三、装饰者模式的一般关系图四、装饰者模式的代码实现五、装饰者模式使用的设计原则六、I/O流-典型的装饰者模式七、装饰者模式的弊端 更多关于设计模式的文章请点击:设计模式之禅(0)-目录页 装饰者模式是23种设计模式之中的一种常用的设计模式,英文叫Decorator Pattern。装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一...原创 2018-11-25 11:42:35 · 593 阅读 · 0 评论 -
设计模式(5)-适配器模式
文章目录一、适配器模式是什么二、把鸭子“适配”为狗三、把枚举接口适配为迭代器接口 更多关于设计模式的文章请点击:设计模式之禅(0)-目录页 适配器模式是面向对象设计模式中常用的一种模式,它能将一个类的接口转换成用户希望的另一个接口,让原本不兼容的程序接口能够相互协作。 一、适配器模式是什么 **适配器模式(Adapter Pattern)**的定义是: 将一个类的接口适配成用户所期待的。...原创 2018-11-28 23:33:32 · 299 阅读 · 0 评论 -
设计模式(1)-策略模式
文章目录一、进一步的改进二、用策略模式组织类关系实例 更多关于设计模式的文章请点击:设计模式之禅(0)-目录页 一、进一步的改进 上面的动物园例子似乎已经足够地完善了,但是仔细想想并不是这样:当另一个SmallDog被创建时,它实现了BarkBehavior接口,但是它需要在自身的代码中去重写这个bark()方法,这个bark()方法的具体实现暴露在了SmallDog类中,当我们需要修改Sma...原创 2018-11-18 14:47:53 · 679 阅读 · 0 评论 -
常用设计模式总结
目录: 一、策略模式 二、观察者模式 三、装饰者模式 四、工厂模式 五、适配器模式 六、单件模式 七、模板方法模式 八、迭代器模式原创 2018-06-06 19:21:22 · 2341 阅读 · 0 评论 -
设计模式(2)-观察者模式
文章目录一、什么是观察者模式二、通过设计气象站模块来说明观察者模式2.1、观察者模式设计的一般类图2.2、观察者模式带来的松耦合2.3、气象站模块需求2.4、使用观察者模式实现气象站模块 观察者模式是Java标准库的开发中常用的一种设计模式,它完美的将观察者和被观察的对象分离开。当被观察者(主题)改变时,所有观察者(订阅者)都将受到改变的情况,而无论观察者处于什么样的状态。 一、什么是观察...原创 2018-11-22 13:28:05 · 395 阅读 · 0 评论