第章
1 状态图定义
状态图描述特定象状态引起状态转移事件
第二章
1 软件维护性复性(?)
软件维护性维护员该软件进行维护难易程度具体包括理解改正改动改进该软件难易程度
复性:复重重复意思
2 面象设计原
(1) 单职责原
(2) 开闭原
(3) 里氏代换原
(4) 赖倒转原
(5) 接口隔离原
(6) 合成复原
(7) 迪米特法
3单职责原定义
单职责原定义:象应该包含单职责该职责完整封装类中
种定义:类言应该仅引起变化原
4开闭原定义
开闭原定义:软件实体应扩展开放修改关闭
5里氏代换原定义
里氏代换原两种定义方式
第种定义方式相严格定义:
果类型S象o1类型T象o2T定义程序P象o1代换成o2时程序P行没变化类型S类型T子类型
第二种更容易理解定义方式:
引基类(父类)方必须透明子类象
6赖倒转原定义
赖倒转原定义:高层模块应该赖低层模块应该赖抽象抽象应该赖细节细节应该赖抽象
种表述:针接口编程针实现编程
7接口隔离原定义
接口隔离原定义:客户端应该赖需接口注意:该定义中接口指定义方法
种定义方法:旦接口太需分割成更细接口该接口客户端仅需知道相关方法
8合成复原定义
合成复原称组合聚合复原定义:量象组合继承达复目
9迪米特法定义
迪米特法称少知识原种定义方法中种典型定义:
(1) 陌生说话
(2) 直接朋友通信
(3) 软件单位单位少知识局限单位密切相关软件单位
第三章
1 模式定义
模式描述环境中断出现问题然描述该问题解决方案核心通种方式数次重已解决方案需重复相工作句话简单表示: 模式特定环境中解决问题种方案
2 设计模式定义
设计模式套反复数知晓分类编目代码设计验总结设计模式重代码代码更容易理解保证代码性
3 设计模式基素
设计模式般基素:模式名称问题目解决方案效果实例代码相关设计模式中关键元素包括四方面:模式名称问题解决方案效果
4 设计模式分类
(1)根目(模式做什)分创建型结构型行型三种:
①创建型模式创建象
②结构型模式处理类象组合
③行型模式描述类象样交互样分配职责
(2)根范围模式处理类间关系处理象间关系分类模式象模式两种:
①类模式处理类子类间关系关系通继承建立编译时刻确定属静态
②象模式处理象间关系关系运行时刻变化更具动态性
5 GoF设计模式简介
GoF 先模式概念引入软件工程领域纳发表23种软件开发中频率较高设计模式旨模式统沟通面象方法分析设计实现间鸿沟
6 设计模式优点
设计模式许优秀软件系统中总结出成功够实现维护性复设计方案方案避免做重复性工作设计出高质量软件系统设计模式优点:
(1)设计模式融合众专家验种标准形式供广开发员提供套通设计词汇种通语言方便开发员间沟通交流设计方案更加通俗易懂编程语言开发设计员通设计模式交流系统设计方案模式应标准解决方案设计模式降低开发员理解系统复杂度
(2)设计模式更加简单方便复成功设计体系结构已证实技术表述成设计模式会新系统开发者更加容易理解设计思路设计模式重成功设计更加容易避免导致重设计方案
(3)设计模式设计方案更加灵活易修改
(4)设计模式提高软件系统开发效率软件质量定程度节约设计成
(5)设计模式助初学者更深入理解面象思想方面帮助初学者更加方便阅读学现类库系统中源代码方面提高软件设计水代码质量
补充:7设计模式题:复扩展
8设计模式基原(?)
面象设计原
广义工厂模式包括:简单工厂模式工厂方法模式抽象工厂模式
第四章 简单工厂模式——GoF23种模式中员
补充:创建型模式概述:
创建型模式类实例化程进行抽象够软件模块中象创建象分离创建型模式创建什(What)谁创建(Who)时创建(When)等方面软件设计者提供灵活性创建型模式隐藏类实例创建细节通隐藏象创建组合起达整系统独立目
1 定义:
简单工厂模式:称静态工厂方法模式属类创建型模式简单工厂模式中根参数返回类实例简单工厂模式专门定义类负责创建类实例创建实例通常具父类
2 结构图:
3 优缺点:
简单工厂模式优点实现象创建象分离象创建交专门工厂类负责缺点工厂类够灵活增加新具体产品需修改工厂类判断逻辑代码产品较时工厂方法代码会非常复杂
第五章 工厂方法模式
1 定义:
工厂方法模式称工厂模式虚拟构造器模式者态工厂模式属类创建型模式工厂方法模式中工厂父类负责定义创建产品象公接口工厂子类负责生成具体产品象样做目产品类实例化操作延迟工厂子类中完成通工厂子类确定究竟应该实例化具体产品类
2 结构图:
3 优缺点:
工厂方法模式优点增加新产品类时须修改现系统封装产品象创建细节系统具良灵活性扩展性缺点增加新产品时需增加新工厂导致系统类数成增加定程度增加系统复杂性
第六章 抽象工厂模式
1 定义:
抽象工厂模式:提供创建系列相关相互赖象接口须指定具体类抽象工厂模式称Kit模式属象创建型模式
2 结构图:
3 优缺点:
抽象工厂模式优点隔离具体类生成客户需知道什创建次通具体工厂类创建产品族中象增加者换产品族较方便增加新具体工厂产品族方便缺点增加新产品等级结构复杂需修改抽象工厂具体工厂类开闭原支持呈现倾斜性
第七章 建造者模式
1 定义:
建造者模式:复杂象构建表示分离样构建程创建表示建造者模式步步创建复杂象允许户通指定复杂象类型容构建户需知道部具体构建细节建造者模式属象创建型模式根中文翻译建造者模式称生成器模式
2 结构图:
3 优缺点:
建造者模式优点客户端必知道产品部组成细节产品身产品创建程解耦相创建程创建产品象具体建造者相独立具体建造者关方便换具体建造者增加新具体建造者符合
开闭原更加精细控制产品创建程缺点建造者模式创建产品般具较点组成部分相似范围受定限制果产品部变化复杂会导致需定义具体建造者类实现种变化导致系统变庞
第八章 原型模式
1 定义:
原型模式:原型模式种象创建型模式原型实例指定创建象种类通复制原型创建新象原型模式允许象创建外定制象须知道创建细节原型模式基工作原理通原型象传发动创建象发动创建象通请求原型象拷贝原型实现创建程
2 结构图:
3 优缺点:
原型模式优点快速创建相相似象简化象创建程保存象中间状态缺点需类配备克隆方法已类进行改造较麻烦需修改源代码实现深克隆时需编写较复杂代码
第九章 单例模式
1 定义:单例模式:单例模式确保某类实例行实例化整系统提供实例类称单例类提供全局访问方法单例模式点三:某类实例二必须行创建实例三必须行整系统提供实例单例模式种象创建型模式单例模式名单件模式单态模式
2 结构图:
3 优缺点:
单例模式优点提供唯实例受控访问节约系统资源缺点缺少抽象层难扩展单例类职责重
第十章 适配器模式
补充:结构型模式概述:
结构型模式(Structural Pattern)描述类者象结合起形成更结构搭积木通简单积木组合形成复杂功更强结构
结构型模式分类结构型模式象结构型模式:类结构型模式关心类组合类组合成更系统类结构型模式中般存继承关系实现关系象结构型模式关心类象组合通关联关系类中定义类实例象然通该象调方法根合成复原系统中量关联关系代继承关系部分结构型模式象结构型模式
1 定义:适配器模式:接口转换成客户希接口适配器模式接口兼容类起工作名包装器适配器模式作类结构型模式作象结构型模式
2 结构图:
3 优缺点:
适配器模式优点目标类适配者类解耦增加类透明性复性时系统灵活性扩展性非常更换适配器者增加新适配器非常方便符合开闭原类适配器模式缺点适配器类编程语言中时适配适配者类象适配器模式缺点难置换适配者类方法
第十章 桥接模式
1 定义:桥接模式:抽象部分实现部分分离独立变化种象结构型模式称柄体模式接口模式
2 结构图:
3 优缺点:
桥接模式优点分离抽象接口实现部分继承方案更解决方法桥接模式提高系统扩充性两变化维度中意扩展维度需修改原系统实现细节客户透明户隐藏实现细节缺点增加系统理解设计难度识出系统中两独立变化维度件容易事情
第十二章 组合模式
1 定义:组合模式:组合象形成树形结构表示整体部分结构层次组合模式单象(叶子象)组合象(容器象)具致性组合模式称整体部分模式属象结构模式象组织树结构中描述整体部分关系
2 结构图:
3 优缺点:
组合模式优点方便层次结构进行控制客户端调简单客户端致组合结构中单象户必关心处理单象整组合结构简化客户端代码缺点设计变更加抽象增加新构件时会产生问题难容器中构件类型进行限制
第十三章 装饰模式
1 定义:装饰模式:动态象增加额外职责增加象功说装饰模式生成子类实现更灵活名称包装器适配器模式名相适场合根翻译装饰模式称油漆工模式种象结构型模式
2 结构图:
3 优缺点:
装饰模式优点提供继承更灵活性通种动态方式扩展象功通具体装饰类装饰类排列组合创造出行组合具体构件类具体装饰类独立变化户根需增加新具体构件类具体装饰类缺点装饰模式进行系统设计时产生象装饰模式继承更加易出错排错困难次装饰象调试时寻找错误需逐级排查较烦琐
第十四章 外观模式
1 定义:外观模式:外部子系统通信必须通统外观象进行子系统中组接口提供致界面外观模式定义高层接口接口子系统更加容易外观模式称门面模式种象结构型模式
2 结构图:
3 优缺点:
外观模式优点客户屏蔽子系统组件减少客户处理象数目子系统起更加容易实现子系统客户间松耦合关系降低型软件系统中编译赖性简化系统台间移植程缺点限制客户子系统类引入抽象外观类情况增加新子系统需修改外观类客户端源代码违背开闭原
第十五章 享元模式
1 定义:享元模式:运享技术效支持量细粒度象复系统少量象象相似状态变化实现象次复享元模式求够享象必须细粒度象称轻量级模式种象结构型模式
2 结构图:
3 优缺点:
享元模式优点极减少存中象数量相象相似象存中保存份缺点系统更加复杂需享元象状态外部化读取外部状态运行时间变长
第十六章 代理模式
1 定义:
代理模式:某象提供代理代理象控制原象引代理模式英文做ProxySurrogate种象结构型模式
2 结构图:
3 优缺点:
代理模式优点够协调调者调者定程度降低系统耦合度缺点客户端真实题间增加代理象类型代理模式会造成请求处理速度变慢实现代理模式需额外工作代理模式实现非常复杂
第十七章 职责链模式
补充:行型模式概述:
行型模式象间划分责算法抽象化行型模式仅仅关注类象结构重点关注间相互作通行型模式更加清晰划分类象职责研究系统运行时实例象间交互系统运行时象孤立通相互通信协作完成某复杂功象运行时影响象运行
行型模式分类行型模式象行型模式两种:
(1)类行型模式:类行型模式继承关系类间分配行类行型模式通态等方式分配父类子类职责
(2)象行型模式:象行型模式象聚合关联关系分配行象行型模式通象关联等方式分配两类职责根合成复原系统中量关联关系取代继承关系部分行型设计模式属象行型设计模式
1定义:
职责链模式:避免请求发送者接收者耦合起象接收请求象连接成条链着条链传递请求直象处理止英文翻译职责链模式称责链模式种象行型模式
2 结构图:
3 优缺点:
职责链模式优点降低系统耦合度简化象相互连接时增强象指派职责灵活性增加新请求处理类方便缺点保证请求定接收较长职责链请求处理涉处理象系统性受定影响进行代码调试时太方便
第十八章 命令模式
1 定义:
命令模式:请求封装象请求客户进行参数化请求排队者记录请求日志支持撤销操作命令模式种象行型模式名动作模式事务模式
2 结构图:
3 优缺点:
命令模式优点降低系统耦合度增加新命令方便较容易设计命令队列宏命令方便实现请求撤销恢复缺点会导致某系统具体命令类
第十九章 解释器模式
1 定义:
解释器模式:定义语言文法建立解释器解释该语言中句子里语言意思规定格式语法代码种类行型模式
2 结构图:
3 优缺点:
解释器模式优点包括易改变扩展文法易实现文法增加新解释表达式方式缺点复杂文法难维护执行效率较低应场景限
第二十章 迭代器模式
1 定义:
迭代器模式:提供种方法访问聚合象暴露象部表示名游标迭代器模式种象行型模式
2 结构图:
3 优缺点:
迭代器模式优点支持方式遍历聚合象简化聚合类聚合遍历缺点增加新聚合类需应增加新迭代器类类数成增加定程度增加系统复杂性
第二十章 中介者模式
1 定义:
中介者模式定义:中介象封装系列象交互中介者象需显式相互引耦合松散独立改变间交互中介者模式称调停者模式种象行型模式
2 结构图:
3 优缺点:
中介者模式优点简化象间交互事解耦减少子类生成复杂象间交互通引入中介者简化事类设计实现中介者模式缺点具体中介者类中包含事间交互细节会导致具体中介者类非常复杂系统难维护
第二十二章 备忘录模式
1 定义:
备忘录模式:破坏封装前提捕获象部状态该象外保存状态样象恢复原先保存状态种象行型模式名Token
2 结构图:
3 优缺点:
备忘录模式优点提供种状态恢复实现机制户方便回特定历史步骤简化原发器象备忘录保存原发器状态采堆栈存储备忘录象实现次撤消操作通负责中定义集合象存储备忘录备忘录模式缺点资源消耗历史状态保存需备忘录象
第二十三章 观察者模式
1 定义:
观察者模式:定义象间种赖关系象状态发生改变时相关赖象皆通知动更新观察者模式做发布订阅模式模型视图模式源监听器模式属者模式观察者模式种象行型模式
2 结构图:
3 优缺点:
观察者模式优点实现表示层数逻辑层分离观察目标观察者间建立抽象耦合支持广播通信缺点果观察目标象直接间接观察者话观察者通知会花费时间果观察者观察目标间循环赖话观察目标会触发间进行循环调导致系统崩溃
第二十四章 状态模式
1 定义:
状态模式:允许象部状态改变时改变行象起似修改类名状态象状态模式种象行型模式
2 结构图:
3 优缺点:
状态模式优点封装转换规枚举状态某状态关行放类中方便增加新状态需改变象状态改变象行环境象享状态象减少系统中象数缺点状态模式会增加系统类象数状态模式结构实现较复杂果导致程序结构代码混乱切换状态状态模式满足开闭原求
第二十五章 策略模式
1 定义:
策略模式:定义系列算法算法封装起相互换策略模式算法独立客户变化称政策模式策略模式种象行型模式
2 结构图:
3 优缺点:
策略模式优点开闭原完美支持修改原系统基础更换算法者增加新算法理算法族提高代码复性种换继承避免重条件转移语句实现方式缺点客户端必须知道策略类理解区时定程度增加系统中类数会存策略类
第二十六章 模板方法模式
1 定义:
模板方法模式:定义操作中算法骨架步骤延迟子类中模板方法子类改变算法结构重定义该算法某特定步骤模板方法种类行型模式
2 结构图:
3 优缺点:
模板方法模式优点子类定义详细处理算法时会改变算法结构实现代码复通子类扩展增加新行符合开闭原缺点需实现定义子类会导致类数增加系统更加庞设计更加抽象
第二十七章 访问者模式
1 定义:
访问者模式:表示作某象结构中元素操作改变元素类前提定义作元素新操作访问者模式种象行型模式
2 结构图:
3 优缺点:
访问者模式优点增加新访问操作变容易关元素象访问行集中访问者象中分散元素类中跨类等级结构访问属等级结构元素类户够修改现类层次结构情况定义该类层次结构操作缺点增加新元素类困难定程度破坏系统封装性
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档