写个给自己的以及使用面向对象编程小伙伴的话:面向对象的设计编程思想,考虑通过封装、继承、多态把程序的耦合度降低。使用设计模式使得程序更加灵活容易修改,并易于复用。注意业务的封装即业务逻辑与界面逻辑的分离。
简单工厂模式
简单工厂模式:由一个工厂对象决定创建出哪一种产品类的实例,白话一点讲工厂就是生产东西,有原料(参数),模子(对象)就能生产出很多具有相同功能的对象。结构图如下,
代码示例:
class Program{
static void main(){
//创建Operate类的oper类
Operate oper;
oper = OperateFactory.createOperate("+");
oper.NumberA = 1;
oper.NumberB = 2;
double result = oper.GetResult();
}
}
//简单工厂,通过参数判断,实例化相应的对象
public class OperateFactory{
public static Operate createOperate(String operate){
Operate oper = null;
switch(operate){}
return oper;
}
}
//定义一个运算基类,宝盒GetResult虚方法
public class Operate{
private double numberA = 0;
private double numberB = 0;
public NumberA{}
public NumberB{}
//返回运算后结果的方法
public virtual double GetResult(){
return result;
}
}
//运算类的四个继承类,分别实现加减乘除四个运算
//加
public class NumberAdd : Operate{
public override double GetResult(){
double result = NumberA+NumberB;
return result;
}
}
//减
public class NumberSub : Operate{
public override double GetResult(){
double result = NumberA-NumberB;
return result;
}
}
//乘
public class NumberMul : Operate{
public override double GetResult(){
double result = NumberA*NumberB;
return result;
}
}
//除
public class NumberDiv : Operate{
public override double GetResult(){
double result = NumberA/NumberB;
return result;
}
}
简单工厂模式,我把它理解为一个模子,根据外界给定的原料,在加上自身的封装,生产出不同类型的相应的产品、对象。
简单工厂模式使用的场景:工厂负责创建的对象比较少;客户只知道传入工厂的参数,对于如何创建对象不关心;简单工厂模式违反高内聚低耦合原则,因此一般只在简单的情况下应用。