Chap1 简单工厂
工厂模式,就是通过工厂类来根据需求创建出真正所需的类。
包含以下内容:
- 创建出来的是对象
- 工厂类封装了对象的创建过程
- 利用多态来创建不同的对象。
示例:
public class Operation
{
private double _numberA = 0;
private double _numberB = 0;
public double NumberA
{
get {return _numberA;}
set {_numberA = value;}
}
public double NumberB
{
get {return _numberB;}
set {_numberB = value;}
}
public virtual double getResult()
{
double result = 0;
return result;
}
}
class OperationAdd : Operation
{
public override double getResult()
{
double result = 0;
result = NumberA + NumberB;
return result;
}
}
class OperationSub : Operation
{
public override double getResult()
{
double result = 0;
result = NumberA - NumberB;
return result;
}
}
class OperationMul : Operation
{
public override double getResult()
{
double result = 0;
result = NumberA * NumberB;
return result;
}
}
class OperationDiv : Operation
{
public override double getResult()
{
double result = 0;
if (NumberB==0)
throw new Exception("除数不能为0。");
result = NumberA / NumberB;
return result;
}
}
class OperationFactory
{
public static Operation createOperate(string operate)
{
Operation oper = null;
switch (operate)
{
case "+":
{
oper = new OperationAdd();
break;
}
case "-":
{
oper = new OperationSub();
break;
}
case "*":
{
oper = new OperationMul();
break;
}
case "/":
{
oper = new OperationDiv();
break;
}
}
return oper;
}
}
Operation oper;
oper = OperationFactory.createOperate(strOperate);
oper.NumberA = Convert.ToDouble(strNumberA);
oper.NumberB = Convert.ToDouble(strNumberB);
strResult = oper.GetResult().ToString();
Chap2 策略模式
策略模式(Strategy),定义了算法族,分别封装起来,让他们之间可以
Chap3 单一职责原则
单一职责原则,Single Responsibility Principle(SRP)。
官方定义就是:一个类或者一个模块应该有且仅有一个能够令其改变的原因。
通俗解释就是:一个程序内各个单元的划分要尽可能精简清晰,单元之间充分低耦合,一个单元(模块、类、函数)所做的事情要简单明了,单元自身充分高内聚。单元承担的责任要单一,如果责任多了就要立刻进行切割。而评判是否责任过多,则需要酌情分析。