
《大话设计模式》学习笔记
轩i丶
不安分的野心
展开
-
【设计模式】之访问者模式
UML 举例//人 abstract class Person { //获得状态对象 public abstract void Accept(Action visitor); }//状态abstract class Action { //得到男人的反应 public abst...原创 2019-11-30 14:44:25 · 233 阅读 · 0 评论 -
【设计模式】之解释器模式
UML原型 //待解释文本 class Context { private string input; private string output; public string Input { get => input; set => input = value; } public ...原创 2019-11-29 14:27:37 · 233 阅读 · 0 评论 -
【设计模式】之享元模式
UML举例//用户 class User { private string name; public User(string name) { this.Name = name; } public string Name { get => name; ...原创 2019-11-28 13:29:55 · 199 阅读 · 0 评论 -
【设计模式】之中介者模式
UML举例 //同事抽象类 class Colleague { protected Mediator mediator; public Colleague(Mediator mediator) { this.mediator = mediator; } } /...原创 2019-11-27 16:16:33 · 181 阅读 · 0 评论 -
【设计模式】之责任链模式
UML举例//处理请示的接口 abstract class Handler { protected Handler successor; public void SetSuccessor(Handler successor) { this.successor = successor; ...原创 2019-11-27 14:51:38 · 144 阅读 · 0 评论 -
【设计模式】之命令模式
UML 举例//烤肉串者 public class Barbecuer { public void BakeMutton() { Console.WriteLine("烤羊肉串"); } public void BakeChickenWing() { ...原创 2019-11-26 18:10:10 · 152 阅读 · 0 评论 -
【设计模式】之桥接模式
UML举例//手机品牌类 abstract class HandsetBrand { //软件 protected HandsetSoft soft; //安装软件 public void SetHandsetSoft(HandsetSoft soft) { ...原创 2019-11-26 16:26:22 · 125 阅读 · 0 评论 -
【设计模式】之迭代器模式
UML原型 //迭代器抽象类 abstract class Iterator { //开始对象 public abstract object First(); //下一个对象 public abstract object next(); //判断是否到达结尾 pub...原创 2019-11-22 17:21:20 · 108 阅读 · 0 评论 -
【设计模式】之组合模式
UML原型//组件抽象类 abstract class Component { protected string name; public Component(String name) { this.name = name; } public abstrac...原创 2019-11-22 17:04:40 · 116 阅读 · 0 评论 -
【设计模式】之备忘录模式
UML原型 //备忘录 class Memento { private string state; public Memento(string state) { this.State = state; } public string State { get ...原创 2019-11-22 16:55:21 · 118 阅读 · 0 评论 -
【设计模式】之状态模式
UML原型//状态抽象类abstract class State { public abstract void Handle(Context context); } //状态A class ConcreteStateA : State { public override void Handle(Conte...原创 2019-11-22 16:32:41 · 192 阅读 · 0 评论 -
【设计模式】之抽象工厂模式(反射+配置文件)
UML举例//User Tableclass User { private int _id; //ID private string _name; //姓名 public int ID{ get => _id; set => _id = value; }...原创 2019-11-22 16:13:35 · 404 阅读 · 0 评论 -
【设计模式】之观察者模式
UML举例 //通知者接口 interface Subject { //添加到通知列表 void Attach(Observer observer); //从通知列表中移除 void Detach(Observer observer); //发布通知 void N...原创 2019-11-16 14:42:24 · 131 阅读 · 0 评论 -
【设计模式】之建造者模式
UML举例 //产品类 class Product { //产品部件 IList<string> parts = new List<string>(); //添加产品部件 public void Add(string part) { ...原创 2019-11-16 12:06:05 · 104 阅读 · 0 评论 -
【设计模式】之设计原则
1. 单一职责原则就一个类而言,应该仅有一个引起它变化的原因。如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受意想不到的破坏。软件设计真正要做的许多内容,就是发现职责并把这些职责相互分离。如果你能够向导多于一个动机去改变一个类,那么这个类就具有多于一个的职责。2. 开...原创 2019-11-14 16:38:20 · 106 阅读 · 0 评论 -
【设计模式】之工厂模式
UML举例 //运算抽象类 abstract class Operation { private double numberA; private double numberB; public double NumberA { get => numberA; set => numberA =...原创 2019-09-16 15:58:05 · 142 阅读 · 0 评论 -
【设计模式】之装饰模式
UML原型 //给对象动态添加职责 abstract class Component { public abstract void Operation(); } class ConcreteComponent:Component { public override void Operation() ...原创 2019-09-16 16:30:04 · 126 阅读 · 0 评论 -
【设计模式】之代理模式
UML原型 abstract class Subject { public abstract void Request(); } //本体 class RealSubject : Subject { public override void Request() { ...原创 2019-09-16 19:55:28 · 116 阅读 · 0 评论 -
【设计模式】之工厂方法模式
UML举例 //工厂接口 interface IFactory { Operation createOperation(); } //加运算工厂 class AddFactory : IFactory { public Operation createOperation() { ...原创 2019-09-17 13:14:53 · 114 阅读 · 0 评论 -
【设计模式】之原型模式
UML举例 //工作经验 class WorkExperience:ICloneable { private string workDate; private string company; public Object Clone() { return (Object)...原创 2019-09-17 16:44:08 · 118 阅读 · 0 评论 -
【设计模式】之策略模式
原型 //策略 abstract class Strategy { //算法接口 public abstract void AlgorithmInterface(); } //具体算法A class ConcreteStrategyA:Strategy { public overri...原创 2019-09-16 15:01:48 · 125 阅读 · 0 评论