摘要: 面向对象设计原则 0.前言 设计原则部分内容主要来自《大话设计模式》一书,同时参考了以下博客 "史上最全的设计模式导学目录" 1.面向对象设计模式原则概述 对于面向对象软件系统的设计而言,在支持可维护的同时,提高系统的可复用性是一个至关重要的问题,如何同时提高一个软件系统的可维护性和可复用性是面向对 阅读全文
posted @ 2020-04-08 16:23 rider_add 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 观察者模式 [TOC] 1.定义 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有的观察者对象,使它们能够自动更新自己。 观察者模式又叫做发布 订阅模式、模型 视图模式,源 监听器模式。 观察者模式的简单实现 2.为什么使用观察者 阅读全文
posted @ 2020-01-15 16:21 rider_add 阅读(541) 评论(0) 推荐(0) 编辑
摘要: 装饰器模式 [TOC] 1.定义 装饰模式:是指在不改变原有对象的基础之上,将功能附加到对象上,提供了比继承更有弹性的替代方案。 装饰模式中的角色: 抽象构件(Component)角色:给出一个抽象接口,以规范准备接受附加职责的对象。 具体构件(ConcreteComponent)角色:定义一个将要 阅读全文
posted @ 2020-01-15 16:18 rider_add 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 适配器模式 [TOC] 1.定义 适配器模式,将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 适配器模式的原型代码 2.为什么使用适配器模式 适配器模式的两个使用阶段及其对应场景 软件开发的后期或维护期 在想使用一个已经存在的类,但如 阅读全文
posted @ 2020-01-15 16:00 rider_add 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 策略模式 [TOC] 1.定义 策略模式 它定义了算法家族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化,不会影响到使用算法的客户。 策略模式的基本代码 2.为什么使用策略模式 策略模式是一种定义一系列算法的方法,从概念上来看,所有这些算法完成的都是相同的工作,只是实现不同,它可以以相同 阅读全文
posted @ 2020-01-15 15:41 rider_add 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 单例模式 [TOC] "转自五月的仓颉" 1.单例模式 单例模式, 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 让类自身负责保存它的唯一实例。这个类可以保证没有其他实例可以被创建,并且它可以提供一个访问该实例的方法。 单例模式的普通实现 单例模式的好处 保证唯一实例 对唯一实例的受控访问 阅读全文
posted @ 2020-01-14 17:51 rider_add 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 工厂方法模式 [TOC] 1.定义 工厂方法模式 定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 2.为什么使用工厂方法模式 基于简单工厂模式,如果新增了产品类,同时就要在工厂类中新增逻辑判断,修改原有的类。这样就违背了开放 封闭原则。 见设计模式 如果 阅读全文
posted @ 2020-01-14 17:46 rider_add 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 简单工厂模式 [TOC] 0.前言 设计模式篇主要是阅读《大话设计模式》的记录,同时也有阅读 "五月的仓颉" 中设计模式相关部分。 1.定义 简单工厂模式 又叫做静态工厂方法模式 。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。 2.为什么使用 用来解决如何去实例化对象的问题。 到底要实 阅读全文
posted @ 2020-01-14 11:45 rider_add 阅读(222) 评论(0) 推荐(0) 编辑