设计模式个人总结_工厂模式

1.为什么需要设计模式:模式即是方法,解决问题有好坏。在功能实现的基础上我们要求做到设计更好,所以有了设计模式!

2.工厂模式的学习:
看到的例子里说有一个类有很多子类,需要实例化的同时,为了避免若干个问题(1.为了代码的封装性和隐藏性 2为了避免杂乱.3.为了秉承面向对象的精神里的高内聚,低偶合。$……还有什么好处要慢慢总结了!^ ~ ^)
一个例子是:
class Opeater{
      Sting numA;
     String numB;
     getNumA();
      getNumB();
    getResult();
    }
这个是基类,如果子类有AddOpert(){},SubOpert();……(把加减乘除的功能用继承的形式来写,这样,加功能就不用碰到其他的操作了,题外话)

这个时候需要用到工厂模式
class Factory{
    public static Opeater(这个是父类的返回值) creater(String oper){
       if(oper.equals("+")){
           new AddOpert();
        }else(oper.equals("-")){
            new SubOpert();
        }else{…………}//继续添加其他子类来完善功能,类似配置文件
    }
}

使用的时候:
public static void main(String args[]){
    Opeater oper;
    oper = new Factory().creater("+");
    oper.numA = 1;
    oper.numB = 2;
    oper.getResult();//这样可以返回加法的结果

    oper = new Factory().creater("/");
    oper.numA = 5;
    oper.numB = 0;//在子类里做好特殊处理
    oper.getResult();//这样可以返回除法的结果
}

3.什么是抽象工厂模式
看了下书,对比了下工厂模式,感觉是在原有的基础上增加了基类。从而变成对多个基类的子类实例化的控制,而这种情况带来的是对工厂类的编写采用了抽象化来处理。而实例化的任务交给了这个工厂类的子类,这样无疑是增加了实例的复杂程度。

有两个基类:
class simpleF{}
class simpleF2{}

现在他们各自有很多子类,这样的化工厂类的实例化带来了困难。
public abstract class Factory{
    pulbic  simpleF creater();
    pulbic  simpleF2 creater(String other);
}

//具体实现就要看工厂的小孩们了
public abstract class FactoryChild1{
    pulbic  simpleF creater(){
       new simpleFA();
    };
    pulbic  simpleF2 creater(String other){
       new simpleFB();
    };
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值