• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            woaidongmao

            文章均收錄自他人博客,但不喜標題前加-[轉貼],因其丑陋,見諒!~
            隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
            數據加載中……

            OOP遵照:單一職責原則--SRP

            一、SRP簡介(SRP--Single-Responsibility Principle):

            就一個類而言,應該只專注于做一件事和僅有一個引起它變化的原因。PHP開源com

                所謂職責,我們可以理解他為功能,就是設計的這個類功能應該只有一個,而不是兩個或更多。也可以理解為引用變化的原因,當你發現有兩個變化會要求我們修改這個類,那么你就要考慮撤分這個類了。因為職責是變化的一個軸線,當需求變化時,該變化會反映類的職責的變化

            就像一個人身兼數職,而這些事情相互關聯不大,,甚至有沖突,那他就無法很好的解決這些職責,應該分到不同的人身上去做才對。

             

            二、舉例說明:

            違反SRP原則代碼: PHP開源com
            modem
            接口明顯具有兩個職責:連接管理和數據通訊;

            interface Modem
            {
                public void dial(string pno);
                public void hangup();
                public void send(char c);
                public void recv();
            }

             

            如果應用程序變化影響連接函數,那么就需要重構:

            interface DataChannel
            {
                public void send(char c);
                public void recv();
            }
            interface Connection
            {
                public void dial(string pno);
                public void hangup();
            }

             

            三、SRP優點:PHP開源com

            消除耦合,減小因需求變化引起代碼僵化性臭味

             

            四、使用SRP注意點:

            1、一個合理的類,應該僅有一個引起它變化的原因,即單一職責;
            2
            、在沒有變化征兆的情況下應用SRP或其他原則是不明智的;
            3
            、在需求實際發生變化時就應該應用SRP等原則來重構代碼;
            4
            、使用測試驅動開發會迫使我們在設計出現臭味之前分離不合理代碼;
            5
            、如果測試不能迫使職責分離,僵化性和脆弱性的臭味會變得很強烈,那就應該用FacadeProxy模式對代碼重構;

             

            posted on 2008-12-22 21:29 肥仔 閱讀(600) 評論(0)  編輯 收藏 引用 所屬分類: OOP

            久久久无码精品午夜| 91亚洲国产成人久久精品| 久久天天婷婷五月俺也去| 亚洲国产小视频精品久久久三级 | 婷婷综合久久中文字幕| 久久亚洲欧美日本精品| 久久久久国产精品嫩草影院| 一本一道久久综合狠狠老| 久久综合欧美成人| 久久精品日日躁夜夜躁欧美| 久久久久夜夜夜精品国产| 国产69精品久久久久APP下载| 精品乱码久久久久久久| 久久亚洲色一区二区三区| 久久久久久久久无码精品亚洲日韩| 国产精品日韩欧美久久综合| 狠狠色婷婷久久一区二区三区| 久久精品国产亚洲Aⅴ香蕉| 久久天天躁狠狠躁夜夜avapp| 久久精品无码一区二区日韩AV| 久久国产亚洲精品无码| 尹人香蕉久久99天天拍| 久久久久亚洲AV成人网| 青青青国产精品国产精品久久久久| 久久久国产精华液| 久久亚洲精品国产精品婷婷| 亚洲综合婷婷久久| 久久96国产精品久久久| 久久亚洲精品无码AV红樱桃| 人妻无码精品久久亚瑟影视| 伊人色综合九久久天天蜜桃| 欧美午夜精品久久久久久浪潮| 国产成人99久久亚洲综合精品| 99久久精品午夜一区二区| 久久久久亚洲精品无码蜜桃| 久久久久亚洲国产| 久久这里都是精品| 久久久久青草线蕉综合超碰| 久久精品人妻中文系列| 无码国内精品久久人妻蜜桃| 国产亚洲欧美精品久久久|