前言:毫无疑问 ,学习一些设计模式,对我们的编程水平的提高帮助很大。写这个博客的时候自己刚开始学习设计模式,难免有错,欢迎评论指正。
我学设计模式的第一本书是“大话设计模式”。
1.为什么要学设计模式?
设计模式的存在就是为了抵御需求变更。学会了这些思想,开始一个项目的时候考虑的更多,当用户提出变更的时候项目改动更少。
2.怎么才能学会设计模式?
我不知道,不过轮子哥(vczh)文章中的一句话,我觉得对,就是:“设计模式就是因为情况复杂了所以才会出现的,所以我们只能通过复杂的程序来学习设计模式。你不管看别人的程序也好,自己写程序练习也好,那必须要复杂,复杂到你不用设计模式就做不下去,这才能起到学习设计模式的作用”。所以,我准备选择一些自己用到的设计模式,通过写代码的方式去熟悉它们。
一.简单工厂模式(Simple Factory Pattern)
场景描述:制作一个计算器。
1.实现加减乘除。
2.以后有其它算法的时候,容易维护。
工厂类
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 //Author:cuishiyu 7 //2016.08.13 8 namespace OperationByFactory.Class 9 { 10 //运算工厂类 11 class OperationFactory 12 { 13 public static Operation createOperation(string operate) 14 { 15 Operation oper = null; 16 switch (operate) 17 { 18 case "+": 19 oper = new OperationAdd(); 20 break; 21 case "-": 22 oper = new OperationSub(); 23 break; 24 case "*": 25 oper = new OperationMul(); 26 break; 27 case "/": 28 oper = new OperationDiv(); 29 break; 30 } 31 return oper; 32 } 33 } 34 }