<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    /**
      *簡單工廠模式其實不是23種設計模式之一,但是它是創建型模式的最基礎的內容,
      *工廠方法和抽象工廠都是在它的基礎上的改良版。
      *關于簡單工廠模式的優缺點,請看設計模式(1)------工廠類設計模式。
      *
      *
      *它是對對象實例化的過程和需要實例化的對象進行細節上的封裝。
      *
      *  優點:工廠類中包含了必要的邏輯判斷,根據客戶端的選擇條件動態實例化相關類。對于客戶端來說,去除了與具體產品的依賴。

      *缺點:當需要增加產生一個新對象實例的方法時,需要修改工廠類,這樣,工廠類就違背了“開-閉原則”。
      *
      */


      1package simpleFactroy;
      2
      3public class Operation  {
      4    private double dNumberA;
      5    private double dNumberB;
      6    
      7    public double getResults(){
      8        return 0l ;
      9    }

     10
     11    public double getdNumberA() {
     12        return dNumberA;
     13    }

     14
     15    public void setdNumberA(double dNumberA) {
     16        this.dNumberA = dNumberA;
     17    }

     18
     19    public double getdNumberB() {
     20        return dNumberB;
     21    }

     22
     23    public void setdNumberB(double dNumberB) {
     24        this.dNumberB = dNumberB;
     25    }

     26
     27    public Operation(double dNumberA, double dNumberB) {
     28        this.dNumberA = dNumberA;
     29        this.dNumberB = dNumberB;
     30    }

     31
     32    public Operation(double dNumberA) {
     33        this.dNumberA = dNumberA;
     34    }

     35
     36    public Operation() {
     37        
     38    }

     39    
     40
     41}

     42
     43
     44package simpleFactroy;
     45
     46public class OperationAdd extends Operation {
     47    public double getResults() {
     48        return  getdNumberA() + getdNumberB() ;
     49    }

     50}

     51
     52
     53package simpleFactroy;
     54
     55public class OperationSub extends Operation {
     56
     57    public double getResults() {    
     58        return  getdNumberA() - getdNumberB() ;
     59    }

     60
     61}

     62
     63
     64
     65package simpleFactroy;
     66
     67public class OperationSqrt extends Operation {
     68
     69    @Override
     70    public double getResults() {
     71        return Math.sqrt(getdNumberA());
     72    }

     73    
     74
     75}

     76
     77
     78
     79package simpleFactroy;
     80
     81public class OperationFactroy {
     82    public static Operation getOperation(String opr){
     83        Operation operation = null ;
     84        if(opr.equals("+")){
     85            operation = new OperationAdd();
     86        }
    else if(opr.equals("-")){
     87            operation = new OperationSub();
     88        }
    else{
     89            operation = new OperationSqrt();
     90        }

     91        return operation ;
     92    }

     93
     94}

     95
     96
     97
     98package simpleFactroy;
     99
    100import java.util.Scanner;
    101
    102
    103public class TestCalculate {
    104    public static void main(String[] args)throws Exception{
    105        while (true{
    106            Scanner src = new Scanner(System.in);
    107            double a = src.nextDouble();
    108            String operation = src.next();
    109            double b = src.nextDouble();
    110            System.out.println(calculate(a, operation, b));
    111            System.out.println(calculate(a));
    112        }

    113    }

    114    
    115    public static double calculate(double a,String operation, double b ){
    116        Operation opr = OperationFactroy.getOperation(operation);
    117        opr.setdNumberA(a);
    118        opr.setdNumberB(b);
    119        return opr.getResults();
    120    }

    121    public static double calculate(double a){
    122        Operation opr = OperationFactroy.getOperation("");
    123        opr.setdNumberA(a);
    124        return opr.getResults();
    125    }

    126
    127}

    128

    Feedback

    # re: 設計模式(2)-------------簡單工廠模式(代碼實現)  回復  更多評論   

    2010-05-20 22:27 by wjmgyn
    大話設計 模式看多了。。。。

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 最近中文字幕电影大全免费版 | 国产网站免费观看| 成人毛片100免费观看| 亚洲欧美日韩一区二区三区 | 67194熟妇在线永久免费观看| 福利片免费一区二区三区| 亚洲春黄在线观看| 亚洲成色www久久网站夜月| 免费在线观看理论片| 18禁成年无码免费网站无遮挡| 亚洲免费在线播放| 最近免费mv在线观看动漫| 一本一道dvd在线观看免费视频| 久久夜色精品国产噜噜亚洲a| 亚洲经典在线中文字幕| 亚洲国产精品无码AAA片| 国产成人精品日本亚洲专区61 | 亚洲av日韩综合一区二区三区 | 妞干网手机免费视频| 91免费在线播放| 3344免费播放观看视频| 一级毛片全部免费播放| 国产成人无码区免费内射一片色欲| fc2成年免费共享视频网站| 日日狠狠久久偷偷色综合免费 | 免费少妇a级毛片人成网| 在线观看亚洲免费视频| 女人张开腿等男人桶免费视频| 亚洲欧洲免费无码| 男男AV纯肉无码免费播放无码 | 亚洲丰满熟女一区二区v| 亚洲嫩草影院在线观看| 亚洲综合图片小说区热久久| 亚洲精品视频免费在线观看| 4480yy私人影院亚洲| 亚洲第一页在线播放| 亚洲人和日本人jizz| 亚洲JLZZJLZZ少妇| 日本一区二区三区免费高清在线| jizz18免费视频| 国产好大好硬好爽免费不卡|