UML+设计模式+软工导论
文章平均质量分 69
软件开发修炼内功必备,上这些课的时候不在乎,知道了后悔了,真是出来混,迟早要还的,自己挖的炕!!!
Star星屹程序设计
编程新手,个人记笔记,方便日后看,很多东西记着只是为了自己方便。。喷子请绕道!!!
展开
-
适配器模式(结构型模式)
Adapter(适配器模式)属于结构型模式,结构性模式关注的是如何组合类与对象,以获得更大的结构,我们平常工作大部分时间都在与这种设计模式打交道。 意图:将一个类的接口转换成客户希望的另一个接口。Adapter 模式使得原本由于接口不兼容而不能在一起工作的那些类可以一起工作。 适配器模式遵照了以下几个设计原则: 依赖倒转原则 迪米特法则 适配器模式分为:类适配器 和 对象适配 构造Adapter类继承Target类,并实现Adaptee接口(适配器模式的类版本) 将一个Adapt...原创 2022-04-24 15:39:27 · 1952 阅读 · 0 评论 -
装饰模式(创建型模式)
概念 装饰( Decorator )模式又叫做包装模式。通过一种对客户端透明的方式来扩展对象的功能,是继承关系的一个替换方案。 装饰模式就是把要添加的附加功能分别放在单独的类中,并让这个类包含它要装饰的对象,当需要执行时,客户端就可以有选择地、按顺序地使用装饰功能包装对象。 类图角色和职责 转存失败重新上传取消转存失败重新上传取消 转存失败重新上传取消转存失败重新上传取消 适用于: ...原创 2020-04-17 22:42:18 · 479 阅读 · 0 评论 -
观察者模式(行为型模式)
概念 Observer模式是行为模式之一,它的作用是当一个对象的状态发生变化时,能够自动通知其他关联对象,自动刷新对象状态。 Observer模式提供给关联对象一种同步通信的手段,使某个对象与依赖它的其他对象之间保持状态同步。 角色和职责 Subject(被观察者) 被观察的对象。当需要被观察的状态发生变化时,需要通知队列中所有观察者对象。Subject需要维持(...原创 2020-04-17 13:13:36 · 477 阅读 · 0 评论 -
命令模式(行为型模式)
概念 命令模式(CommandPattern)是将一个请求封装为一个对象,从而使你可用不同的请求对客户端进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。 Command模式也叫命令模式 ,是行为设计模式的一种。Command模式通过被称为Command的类封装了对目标对象的调用行为以及调用参数。 在面向对象的程序设计中,一个对象调用另一个对象,一般情况下的调用过程是:创建目标对...原创 2020-04-17 12:04:56 · 451 阅读 · 0 评论 -
策略模式(行为型模式)
概念 Strategy模式也叫策略模式是行为模式之一,它对一系列的算法加以封装,为所有算法定义一个抽象的算法接口,并通过继承该抽象算法接口对所有的算法加以封装和实现,具体的算法选择交由客户端决定(策略)。Strategy模式主要用来平滑地处理算法的切换 。 角色和职责 Strategy:策略(算法)抽象。 ConcreteStrategy:各种策略(算法)的具体实现。 Conte...原创 2020-04-17 10:13:33 · 637 阅读 · 0 评论 -
模板方法模式(行为型模式)
模板模式template 概念 Template Method模式也叫模板方法模式,是行为模式之一,它把具有特定步骤算法中的某些必要的处理委让给抽象方法,通过子类继承对抽象方法的不同实现改变整个算法的行为。 应用场景 Template Method模式一般应用在具有以下条件的应用中: - 具有统一的操作步骤或操作过程 - 具有不同的操作细节 - 存在多个具有同样操作步骤的应用场景,但...原创 2020-04-16 11:27:52 · 353 阅读 · 0 评论 -
适配器模式(结构型模式)
概念 Adapter模式也叫适配器模式,是构造型模式之一,通过Adapter模式可以改变已有类(或外部类)的接口形式。 角色和职责 适用于: 是将一个类的接口转换成客户希望的另外一个接口。使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 简单案例: #define _CRT_SECURE_NO_WARNINGS #include <iostrea...原创 2020-04-16 10:24:56 · 345 阅读 · 0 评论 -
外观模式(结构型模式)
概念 Facade模式也叫外观模式,是由GoF提出的23种设计模式中的一种。Facade模式为一组具有类似功能的类群,比如类库,子系统等等,提供一个一致的简单的界面。这个一致的简单的界面被称作facade。 角色和职责 Façade:外观(系统开关) 为调用方, 定义简单的调用接口。 Clients 调用者。通过Facade接口调用提供某功能的内部类群。 Package...原创 2020-04-15 16:55:11 · 339 阅读 · 0 评论 -
代理模式(结构型模式)
概念 Proxy模式又叫做代理模式,是构造型的设计模式之一,它可以为其他对象提供一种代理(Proxy)以控制对这个对象的访问。 所谓代理,是指具有与代理元(被代理的对象)具有相同的接口的类,客户端必须通过代理与被代理的目标类交互,而代理一般在交互的过程中(交互前后),进行某些特别的处理。 类图角色和职责 subject(抽象主题角色): 真实主题与代理主题的共同接口。 ...原创 2020-04-15 16:18:09 · 485 阅读 · 0 评论 -
单例模式(创建型模式)
单例模式 概念 单例模式是一种对象创建型模式,使用单例模式,可以保证为一个类只生成唯一的实例对象。也就是说,在整个程序空间中,该类只存在一个实例对象。 GoF对单例模式的定义是:保证一个类、只有一个实例存在,同时提供能对该实例加以访问的全局访问方法。 为什么使用单例模式 在应用系统开发中,我们常常有以下需求: - 在多个线程之间,比如初始化一次socket资源;比如servl...原创 2020-04-15 12:44:29 · 532 阅读 · 0 评论 -
抽象工厂模式(创建型模式)
概念 抽象工厂模式是所有形态的工厂模式中最为抽象和最其一般性的。抽象工厂模式可以向客户端提供一个接口,使得客户端在不必指定产品的具体类型的情况下,能够创建多个产品族的产品对象。 产品族和产品等级结构 备注1:工厂模式:要么生产香蕉、要么生产苹果、要么生产西红柿;但是不能同时生产一个产品组。抽象工厂:能同时生产一个产品族。===》抽象工厂存在原因 解释:具体工厂在开闭原则下,...原创 2020-04-14 19:34:46 · 490 阅读 · 0 评论 -
工厂方法模式(创建型模式)
工厂方法模式 简单工厂模式不符合开闭原则,工厂方法模式解决了这个问题,也即:简单工厂模式 + 开闭原则 = 工厂方法模式 概念 工厂方法模式同样属于类的创建型模式又被称为多态工厂模式 。工厂方法模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。 核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使...原创 2020-04-14 12:38:42 · 393 阅读 · 0 评论 -
简单工厂模式
什么是简单工厂模式 简单工厂模式属于类的创建型模式,又叫做静态工厂方法模式。通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。 模式中包含的角色及其职责 1.工厂(Creator)角色 简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类可以被外界直接调用,创建所需的产品对象。 2.抽象(Product)角色 简单工厂模式所创建的所有对象的父类,...原创 2020-04-14 11:05:36 · 342 阅读 · 0 评论 -
面向对象设计模式原则-依赖倒转原则
依赖倒置原则 (DIP,Dependence Inversion Principle) 依赖于抽象(接口),不要依赖具体的实现(类),也就是针对接口编程。 简单案例: #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; /*依赖倒转原则 *案例:银行很多种业务,若把业务都写到一个类...原创 2020-04-14 09:44:22 · 365 阅读 · 0 评论 -
面向对象设计模式原则-合成复用原则
优先使用组合而不是继承原则(CARP,Composite/Aggregate Reuse Principle) 注:继承和组合同时符合条件时,优先使用组合 如果使用继承,会导致父类的任何变换都可能影响到子类的行为。 如果使用对象组合,就降低了这种依赖关系。 简单案例: #define _CRT_NO_SECURE_WARNINGS #include <iostream> ...原创 2020-04-13 22:41:35 · 449 阅读 · 0 评论 -
面向对象设计模式原则-迪米特法则
迪米特法则(LOD,Law of Demeter) 注:迪米特法则又名 :最少知识原则 一个对象应当对其他对象尽可能少的了解,从而降低各个对象之间的耦合,提高系统的可维护性。例如在一个程序中,各个模块之间相互调用时,通常会提供一个统一的接口来实现。这样其他模块不需要了解另外一个模块的内部实现细节,这样当一个模块内部的实现发生改变时,不会影响其他模块的使用。(黑盒原理) ...原创 2020-04-13 21:33:46 · 551 阅读 · 0 评论 -
面向对象设计模式原则-开闭原则
开放封闭原则 (OCP,Open For Extension, Closed For Modification Principle) 类的改动是通过增加代码进行的,而不是修改源代码。 即:对扩展开放,对修改关闭,增加功能是通过增加代码实现的,而不是去修改原来的代码。 简单案例: 注:结合单一职责原则,能够很好的运用开闭原则 #define _CRT_SECURE_NO_WARNI...原创 2020-04-13 20:46:38 · 335 阅读 · 0 评论 -
设计模式入门须知
设计模式编程基础 1.1设计模式前言 模式 在一定环境中解决某一问题的方案,包括三个基本元素--问题,解决方案和环境。 大白话:在一定环境下,用固定套路解决问题。 设计模式(Design pattern) 是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代 码可靠性。 毫无疑问,设计模式...原创 2020-04-13 19:01:32 · 378 阅读 · 0 评论 -
设计模式简介
设计模式:在特定环境下,人们解决某类重复问题的一套成功有效的解决方案。 软件提高(思想方面的进阶):数据结构、算法、设计模式、重构、软件工程 设计模式的引入者:四人组(Gang of Four),简称GOF GOF将模式的概念引入软件工程领域,这标志着软件模式的诞生 1、软件设计模式的种类:23个 设计模式目前的种类:GoF的23种 + 简单工厂模式 = 24种 创建型模式:如何创建对...原创 2020-01-02 10:08:31 · 342 阅读 · 0 评论