随笔分类 -  《大话设计模式》学习笔记

摘要:1. public abstract class PersonBuilder { protected Pen pen; protected Graphics graphics; public PersonBuilder(Pen p, Graphics gra) { pen = p; graphics 阅读全文
posted @ 2017-11-03 16:03 甘鑫丶 阅读(83) 评论(0) 推荐(0)
摘要:一个简历类,一个工作经历类。简历引用了工作经历,控制台输出简历内容。 1. /// <summary> /// 工作经历 /// </summary> public class WorkExperience : ICloneable { public string WorkDate { get; s 阅读全文
posted @ 2017-11-03 10:04 甘鑫丶 阅读(112) 评论(0) 推荐(0)
摘要:上次的计算机实现所用的简单工厂,结构如下: 如果想要加一个求M的N次方,那就需要去修改简单工厂类里面的switch-case了,这还是违背了封闭-开放原则。 所以工厂方法模式克服了这个缺点。 阅读全文
posted @ 2017-11-02 15:14 甘鑫丶 阅读(146) 评论(0) 推荐(0)
摘要:代理模式,为其他对象提供一种代理以控制对这个对象的访问。 结构图如下: 代码示例: /// <summary> /// 代理接口 /// </summary> public interface IGiveGift { void GiveDoll(); void GiveFlower(); void 阅读全文
posted @ 2017-11-02 14:34 甘鑫丶 阅读(78) 评论(0) 推荐(0)
摘要:单一职责原则,就一个类而言,应该仅有一个引起它变化的原因。 开放-封闭原则,对于扩展是开放的,对于更改是封闭的。面对需求,对程序的改动是通过增加新代码进行的,而不是更改现有的代码。 里氏代换原则,子类必须能够替换掉父类。 依赖倒转原则,抽象不应该依赖细节,细节应该依赖抽象。也就是针对接口编程,而不是 阅读全文
posted @ 2017-11-02 10:05 甘鑫丶 阅读(185) 评论(0) 推荐(0)
摘要:如图所示,做一个简单的计算费用的winform程序。 public abstract class CashSuper { public abstract double AccpetCash(double money); } /// <summary> /// 正常收费 /// </summary> 阅读全文
posted @ 2017-11-01 17:41 甘鑫丶 阅读(116) 评论(0) 推荐(0)
摘要:做一个简单计算器,输入两个数字和运算符,计算结果。 public abstract class Operate { public double NumberOne { get; set; } public double NumberTwo { get; set; } public abstract 阅读全文
posted @ 2017-11-01 14:53 甘鑫丶 阅读(106) 评论(0) 推荐(0)