敏捷软件开发 学习笔记
摘要:单一职责原则(SRP) 开放-封闭原则(OCP) 替换原则(LSP) 依赖倒置原则(DIP) 接口隔离原则(ISP) 个人简单理解 单一职责:类的作用要专注于某一方面,改变这个类的原因只是这个方面的变化。 开放-封闭原则:设计类的时候要考虑到类将来可能会变化。为了消除变化引起的对类的修改,设计时要对类做到对类的扩展开放。基本方法是利用抽象,抽象出具体的类...
阅读全文
设计模式示例四 Observer(观察者)和Iterator(迭代器)
摘要:之所以把这两个模式放在一起说是因为C#语句的关系。这两种模式实现起来变得很轻松或者说不一样了。Observer(观察者) class Observer { public delegate void EventHandler(string state); public event EventHandler changeEvent; public...
阅读全文
设计模式示例三 Abstract Factory(抽象工厂)
摘要:示例名称:家庭合唱比赛示例说明:定义抽象的父亲(AbstractFather)、母亲(Abstractmother)和孩子(AbstractChild)及抽象行为Sing。定义抽象的家庭(AbstractFamily),包含父亲、母亲和孩子行为有初始化成员(ConstructMember),准备(抽象的GetReadyToSing),合唱(Tutti),谢幕(抽象的Thank)。定义抽象的家庭工厂...
阅读全文
设计模式示例二 Decorator(装饰者)
摘要:示例名称:超级递送员示例说明:定义基类(BaseDelivery)和虚方法(Deliver),定义继承自该基类的三个子类(MilkDelivery、NewspaperDelivery和CarDelivery),重写基类的虚方法(Deliver)。示例类图:关键部分说明BaseDelivery using System;namespace Delivery{ public class Base...
阅读全文
设计模式示例一 Factory Method(工厂方法)
摘要:示例名称:简单计算器示例说明:定义一个抽象类(Calculate)和其中的抽象方法(Result),定义两个子类(Add、Reduce)继承自该抽象类,并实现该类的抽象方法(Result)。抽象类(Calculate)中定义一个方法(Creat)根据变化的条件,负责创建不确定的类的实例。示例类图:关键部分说明web.config ...
阅读全文
设计模式示例系列随笔
摘要:在本系列随笔中,我想尽量少讲说,用简洁的代码来表达设计模式的意图和适用性!发布随笔时仅代表我当时的理解,并不一定完全正确。本系列示例是GOF的设计模式的一个子集。很多模式其实是很相似的,细微之处的差别也是要靠大家自己多看书去理解。设计模式示例一 Factory Method(工厂方法) 设计模式示例二 Decorator(装饰者) 设计模式示例三 Abstract Factory(抽象工厂) 设计模式示例四 Observer(观察者)和Iterator(迭代器)
阅读全文