随笔分类 - 软件设计
架构设计 面向对象 设计模式 领域驱动设计 设计模式 UML
摘要:命令模式 类图: 常用的实现方式: 指令处理对象 public interface IReceiver { void Operation(); }//end IReceiver public class ReceiverA : IReceiver { public ReceiverA(){ } pu
阅读全文
摘要:策略模式 策略模式是指对一系列的算法定义,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。 类图: 常用的实现方式: 策略 public interface IPolicy { void Operation(); }//end IPolicy publi
阅读全文
摘要:适配器模式 类图: 图1 图2 常用的实现方式: 适配对象 public class AdapterTarget { public AdapterTarget(){ } public void Operation(){ Console.WriteLine("原有功能不变"); } }//end Ad
阅读全文
摘要:外观模式 类图: 常用的实现方式: 外观部件 public class FacadePartA { public FacadePartA(){ } public string Write(){ return "今天天气真不好!"; } }//end FacadePartA public class
阅读全文
摘要:简单工厂模式 类图: 常用的实现方式: 产品 public abstract class Product { protected Product(){ } public virtual void Operation(){ Console.WriteLine("我是工厂生产所有产品"); } }//e
阅读全文
摘要:观察者模式 观察者模式主要涉及两种对象:观察目标对象,观察对象。 类图: 常用的实现方式: 目标对象 //观察目标 public class Target { private readonly string _content; private readonly List<Observer> _obs
阅读全文
摘要:订阅模式 订阅模式主要涉及到三种对象:订阅对象,发布对象,分发对象。 案例没对这三种对象做抽像,大家可以根据应用场景去扩展。 类图: 常用的实现方式: 订阅对象 //订阅对象 public class Subscribe { public string Name; public Subscribe(
阅读全文
摘要:单例模式 类图: 常用的实现方式: 第一种线程安全 public sealed class Singleton { public static readonly Singleton SingletonInstance=new Singleton(); private Singleton() { }
阅读全文
摘要:定义:设计模式是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。 目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性,设计模式使代码编写真正工程化。 使用:每一种设计模式都是在特定场景下总结出来的,选用时需要根据特定的场景选择,不能为了模式而模式。 下面每种设计模式都是自己
阅读全文
摘要:在画用例图的时候,理清用例之间的关系是重点。用例的关系有泛化(generalization)、扩展(extend)和包含(include)。其中include和extend最易混淆。下面我们结合实例彻底理清三者的关系。 基本概念 用例图(Use Case Diagram):用例图显示谁是相关的用户,
阅读全文
摘要:1. 泛化(Generalization) 【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。例如:老虎是动物的一种,即有老虎的特性也有动物的共性。 【箭头指向】:带三角箭头的实线,箭头指向父类 2. 实现(Realization) 【实现关系】:是一种类
阅读全文
摘要:UML中描述对象和类之间相互关系的方式包括:依赖(Dependency),关联(Association),聚合(Aggregation),组合(Composition),泛化(Generalization),实现(Realization)等。 依赖(Dependency):元素A的变化会影响元素B,
阅读全文

浙公网安备 33010602011771号