随笔分类 -  软件设计

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