
设计模式
文章平均质量分 56
dr.xun
迭代
展开
-
一次正交设计和组合设计之旅
一次正交设计和组合设计之旅引言Design is there to enable you to keep changing the software easily in the long term. – Kent BeckEverything should be made as simple as possible, but not simpler. – Albert Einstein一、回顾设计的定义及价值定义:如引言中Kent Beck言,软件设计是为了长期更加容易地适应未来的变化。价值:原创 2021-06-19 18:55:35 · 773 阅读 · 1 评论 -
软件设计需要关注的要素
交互 interaction 算法 Algorithm 数据结构 Data 数据流 Data Stream(pipe + filter)原创 2021-02-05 22:20:12 · 212 阅读 · 0 评论 -
设计模式之依赖注入(DI)
一、概念1. 关注点分离:对象生命周期的管理应该独立于其领域的业务逻辑之外;2. 依赖注入(DI):将组件与其需要的服务分离,这样组件就不必知道这些服务的名称,也不必知道如何获取它们。【解释】客户端对象需要的独立的服务对象是由外部提供的。客户端对象不需要关心它所需要的服务对象本身,或者主动请求服务对象。方式:1. 通过构造函数注入 2. 通过setter注入 3. 通过小类大对象中的多态继承的方式注入3. 依赖倒置(DIP):解耦技术...原创 2020-09-12 20:11:53 · 362 阅读 · 0 评论 -
类的设计原则知识汇集
原创 2020-09-06 10:12:21 · 106 阅读 · 0 评论 -
设计模式
分类: 创建型模式: 通常和对象的创建有关,涉及到对象实例化的方式。(共5种模式) 行为型模式: 通常和对象间通信有关。(共11种模式) 结构型模式: 描述的是如何组合类和对象以获得更大的结构。(共7种模式)类模式与对象模式: 类模式描述的是如何使用继承提供更有用的程序接口。 对象原创 2017-12-23 20:48:17 · 121 阅读 · 0 评论 -
Head First 设计模式笔记
1、设计原则将变化部分和不变部分分离出来,让代码适应变化;(封装变化) 针对接口编程,而不是针对实现编程;(即,将一类行为抽象成行为类接口,可以应对变化,符合原则1) 多用组合,少用继承;(这条原则,是建立在原则2的基础上的,好处是系统有很大的弹性,运行时可以动态改变对象的行为——例如:策略模式 ‘定义算法簇’ ) 学会使用共享模式词汇,简化沟通; 建立弹性的设计,可以维护,可以应对变...原创 2018-12-02 11:41:42 · 140 阅读 · 0 评论 -
观察者模式实现 in C++
对于程序员来说,最好的交流应该是代码了。直接上代码吧,如有更好的实现方式,或代码有不妥的地方,也请大神赐教吧。一、目录结构二、接口部分代码1、主题——Subject.h#ifndef INC_INTERFACE_SUBJECT_H_#define INC_INTERFACE_SUBJECT_H_struct Observer;struct Subject{ vi...原创 2018-12-02 16:42:06 · 198 阅读 · 0 评论 -
装饰者模式 in C++
一、工程目录二、Code1. Beverage.hinclude <string>using std::string;class Beverage{public: virtual string getDescription() { return description; } virtual double cost() = 0; virtu...原创 2018-12-09 10:59:57 · 186 阅读 · 0 评论