写给自己看的设计模式
写给自己看的设计模式
森伯416
追求技术、充满热忱、享受生活的业余后端砖家,喜欢交流分享,有简历优化、面试辅导、offer咨询等需要的可以和我交流。
毕业于中南计科,从业经历(先后):华为、阿里、PDD、途虎
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
写给自己看的设计模式之《观察者模式》
定义 当对象之间存在一对多的关系时,被依赖的对象发生变化,需要通知到依赖它的所有对象。 举个例子 由于疫情的影响,各地的学校纷纷延迟了开学时间,延迟开学的消息由学校传达给老师和家长(不考虑由老师转发给家长的情况),具体的开学时间也是一样。这个例子中学校与老师和家长之间具有一对多的关系,学校的通知需要都通知到他们,结合观察者模式来code看看。 首先定义被观察者:学校 维护一个 Observer 的数组,老师和家长可以通过 registerObserver 方法注册;学校通过 publishNotice原创 2020-07-17 15:48:06 · 278 阅读 · 0 评论 -
写给自己看的设计模式之《策略模式》
定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换 场景 如果在一个系统里面有许多类,它们之间的区别仅在于它们的行为,那么使用策略模式可以动态地让一个对象在许多行为中选择一种行为 一个系统需要动态地在几种算法中选择一种 如果一个对象有很多的行为,如果不用恰当的模式,这些行为就只好使用多重的条件选择语句来实现 优点 算法可以自由切换 避免使用多重条件判断。 扩展性良好 缺点 ...原创 2020-04-29 20:39:47 · 351 阅读 · 1 评论 -
写给自己看的设计模式之《模板方法模式》
概念参考:https://blog.youkuaiyun.com/carson_ho/article/details/54910518 定义一个模板结构,基于继承关系将具体内容延迟到子类去实现 场景 子类中公共的行为应被提取并集中到公共父类中,并按需扩展特别的方法,避免代码重复 优点 提高代码复用性 子类通用的方法可以抽成基类方法 提高了拓展性 子类可以根据自己的特点动态实现方法 反向控制 通过父类...原创 2020-04-28 10:05:15 · 245 阅读 · 0 评论 -
写给自己看的设计模式之《外观模式》
概念参考:https://blog.youkuaiyun.com/carson_ho/article/details/54910625 定义一个高层、统一的接口,通过这个接口实现外部对子系统多个接口的访问 场景 为一个复杂的子系统对外提供一个简单的接口 提高子系统的独立性 客户程序与多个子系统之间存在很大的依赖性,系统间解耦,挺高独立性和可移植性 在层次化结构中,可以使用外观模式定义系统中每一层的入口 ...原创 2020-04-27 11:10:33 · 242 阅读 · 0 评论 -
写给自己看的设计模式之《适配器模式》
一. 介绍 即定义一个包装类,用于包装不兼容的对象 包装类 = adapter 被包装类 = adaptee 1.1 场景 系统需要复用现有类,而该类的接口不符合系统的需求 多个组件功能类似,但接口不统一且可能会经常切换 1.2 优点 更好的复用性 系统需要使用现有的类,而此类的接口不符合系统的需要 透明、简单 客户端可以调用同一接口,因而对客户端来说是透明的 更好的扩展性 在实现适配器...转载 2020-04-24 10:41:55 · 279 阅读 · 0 评论 -
写给自己看的设计模式之《工厂模式》
1. 简单工厂模式 又称为静态工厂方法(Static Factory Method)模式,它属于创建型模式,专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。 场景 工厂类负责创建的对象比较少,不会造成业务逻辑太复杂 客户端只知道传入工厂类的参数,对如何创建类并不关心 优点 实现了对责任的分割,工厂类负责创建产品对象,客户端负责“消费”即可,且不需要记住产品类的类名 ...原创 2020-04-24 09:35:23 · 284 阅读 · 0 评论 -
写给自己看的设计模式之《设计原则》
设计原则 转自:https://www.cnblogs.com/pony1223/p/7594803.html 1. 单一职责 定义 一个类只负责一项职责 优点 降低类的复杂度,逻辑简单 提高类的可读性,提高系统的可维护性 降低变更风险,影响点较少 2. 里氏替换原则 定义 任何基类出现的地方,子类一定可以出现。子类可以扩展父类的功能,但不能改变父类原有的功能 继承的优点 子类拥有...转载 2020-04-17 14:26:59 · 228 阅读 · 0 评论 -
写给自己看的设计模式之《单例模式》
单例模式 单例模式实现方式很多:饿汉、懒汉、枚举、静态内部类等 转自:https://www.jianshu.com/p/b8c578b07fbc 为什么要用单例模式? 场景 对于一些类(多为工具类)来说,整个系统中只需要一个实例就可以完成任务,比如:日志打印类、获取线程池类等 优点 系统只存在一个对象,可以节约系统资源,减少了频繁创建、销毁对象的开销,提高了系统性能。 缺点 如果实例...转载 2020-04-17 14:22:20 · 250 阅读 · 0 评论
分享