1.8業(yè)務(wù)的封裝

2018-11-06 16:30 更新

大鳥:“準(zhǔn)確的說,就是讓業(yè)務(wù)邏輯與界面邏輯分開,讓它們之間的耦合度下降。只有分離開,才容易達(dá)到容易維護(hù)或擴(kuò)展。”

小菜:“讓我來試試看。”

小菜:“鳥哥,我寫好了,你看看!”

客戶端代碼

class Program{
    static void Main(string[] args){
        try{
            Console.Write(請(qǐng)輸入數(shù)字A:);
            string strNumberA = Console.ReadLine();
            Console.Write(請(qǐng)選擇運(yùn)算符號(hào)(+、-、*、/):);
            string strOperate = Console.ReadLine();
            Console.Write(請(qǐng)輸入數(shù)字B:);
            string strNumberB = Console.ReadLine();
            string strResult = ;
            strResult = Convert.ToString(
                Operation.GetResult(Convert.ToDouble(strNumberA),
                    Convert.ToDouble(strNumberB),strOperate));
                Console.WriteLine(結(jié)果是: + strResult);
                Console.ReadLine();
        
        }catch (Exception ex){
            Console.WriteLine(您的輸入有錯(cuò): + ex.Message);
        }
    }
}

Operation運(yùn)算類

public class Operation{
    public static double GetResult(double numberA, double numberB, string operate){
        double result = 0d;
        switch (operate){
            case "+":
                result = numberA + numberB;
                break;
            case "-":
                result = numberA - numberB;
                break;
            case "*":
                result = numberA * numberB;
                break;
            case "/":
                result = numberA / numberB;
                break;
        }
        return result;
    }
}

大鳥:“哈,孺鳥可教也,:),寫得不錯(cuò),這樣就完全把業(yè)務(wù)和界面分離了?!?/p>

小菜心中暗罵:“你才是鳥呢?!?口中說道:“如果你現(xiàn)在要我寫一個(gè)Windows應(yīng)用程序的計(jì)算器,我就可以復(fù)用這個(gè)運(yùn)算類(Operation)了?!?/p>

大鳥:“不單是Windows程序,Web版程序需要運(yùn)算可以用它,PDA,手機(jī)等需要移動(dòng)系統(tǒng)的軟件需要運(yùn)算也可以用它呀?!?/p>

小菜:“哈,面向?qū)ο蟛贿^如此。下會(huì)寫類似代碼不怕了?!?/p>

大鳥:“別急,僅此而已,實(shí)在談不上完全面向?qū)ο?,你只用了面向?qū)ο笕筇匦缘囊粋€(gè),還兩個(gè)沒用呢?”

小菜:“面向?qū)ο笕筇匦圆痪褪欠庋b、繼承和多態(tài)嗎,這里我用到的應(yīng)該是封裝。這還不夠嗎?……我實(shí)在看不出,這么小的程序如何用到繼承。至于多態(tài),其它我一直也不太了解它到底有什么好處,如何使用它。”

大鳥:“慢慢來,有的東西好學(xué)了,你好好想想吧,我要去“魔獸”了,改時(shí)聊?!?/p>

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)