
软件设计模式
复习软件设计模式
Desperado1024
这个作者很懒,什么都没留下…
展开
-
8.原型模式
原型模式模式动机使用原型模式 克隆 出多个与原型对象一模一样的对象。模式定义一种对象创建型模式。用原型实例指定创建对象的种类,并通过原型创建新的对象。模式结构原创 2021-11-13 21:00:23 · 436 阅读 · 0 评论 -
7.建造者模式
建造者模式对象创建型模式模式动机建造者模式可以将部件和其组装过程分开,创建一个复杂对象。建造产品的过程就相当于组合部件的过程。这些部件的组合过程被“外部化”到一个称作建造者的对象里。模式结构角色:Builder:ConcreteBuilder:Director:Product:指挥者类:public class Director{ private Builder builder; public Director(Builder builder){ this.builder原创 2021-11-12 22:32:47 · 269 阅读 · 0 评论 -
6.抽象工厂模式
抽象工厂模式动机:我们有时需要一个工厂提供多个产品对象(工厂方法模式种每个具体工厂只对应一种具体产品)产品等级结构、产品族的概念:产品等级结构:产品的继承结构(抽象电视机和具体电视机)产品族: 同一工厂生成的位于不同产品等级结构中的一组产品抽象工厂模式与工厂方法模式最大的区别在于:工厂方法模式针对的是一个产品结构,抽象工厂模式面对多个产品等级结构。因此,抽象工厂模式中,一个工厂等级结构可以负责多个产品等级结构中产品对象的创建。模式结构:模式角色:AbstractFac原创 2021-11-12 20:25:02 · 239 阅读 · 0 评论 -
5.工厂方法模式
工厂方法模式工厂方法模式要解决简单工厂模式的不足之处——违背了**“开闭原则”**原创 2021-11-12 15:50:33 · 232 阅读 · 0 评论 -
4.简单工厂
简单工厂又称静态工厂方法模式。动机:可以根据参数的不同返回不同类的实例。实现:定义一个工厂类(对照工厂方法和抽象工厂,这两者都具有多个工厂类)来负责创建其他类的实例,被创建的实例通常都具有共同的父类。模式结构:角色:Factory:实现创建所有实例的内部逻辑Product:ConcreteProduct:简单工厂模式的问题:工厂类的职责过重,增加新的产品需要修改工厂类的判断逻辑,违背**“开闭原则”**...原创 2021-11-10 16:25:40 · 215 阅读 · 0 评论 -
3.软件设计模式概述
软件设计模式概述模式:模式是在特定环境中解决问题的一种方案。一、设计模式的定义与分类设计模式的定义设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式的关键元素模式名称 (Pattern name)问题 (Problem)解决方案 (Solution)效果 (Consequences)设计模式的分类按目的分类:创建型模式主要用于创建对象原创 2021-11-08 18:09:57 · 177 阅读 · 0 评论 -
2.面向对象设计原则
面向对象设计原则设计目标:开闭原则、里氏代换原则、迪米特原则设计方法:单一职责原则、接口分隔原则、依赖倒置原则、组合/聚合复用原则开闭原则对扩展开放、对修改关闭要求:软件系统中不变的部分抽象成接口接口满足最小功能设计原则模块调用通过抽象接口里氏替换原则所有引用基类的地方必须能透明的使用其派生类的对象。条件:不应该在条件判断语句中判断派生类的类型派生类可以出现在任何基类可以出现的地方,并代替它。迪米特原则(最少知道原则)实体类只与“朋友”直接通信“朋友”条件原创 2021-11-08 18:09:02 · 123 阅读 · 0 评论 -
1.类间关系及UML表示
一、依赖关系(Dependency):相对独立的两个对象,满足下列要求之一:一个对象构造了另一个对象的实例一个对象使用了另一个对象(作为方法中的参数、局部变量等)则为依赖关系,这种关系是偶然的,临时的。举例:机器生产零件,人借用船过河UML表示:虚线箭头2.关联关系(Association):相对独立的对象,一个对象的实例与另一个对象的一些特定实例存在固定的对应关系(一个对象拥有另一个对象的引用)举例:师傅和徒弟(1:N),学生和课程(N:N)UML表示:原创 2021-11-07 10:25:04 · 599 阅读 · 0 评论