通州北大青鳥指導:Java編程的十個原則(1)

      北京北大青鳥老師介紹,Java編程最基本的原則就是要追求高內聚和低耦合的解決方案和代碼模塊設計。查看Apache和Sun的開放源代碼能幫助你發現其他Java設計原則在這些代碼中的實際運用。雖然實際案例是學習設計原則或模式的最佳途徑,但通過通州北大青鳥老師的介紹,沒有接觸過這些原則或還在學習階段的Java程序員也能夠了解這10個面向對象的設計原則。

      原則1:DRY(Don't repeat yourself)

      即不要寫重復的代碼,而是用“abstraction”類來抽象公有的東西。如果你需要多次用到一個硬編碼值,那么可以設為公共常量;如果你要在兩個以上的地方使用一個代碼塊,那么可以將它設為一個獨立的方法。SOLID設計原則的優點是易于維護,但要注意,不要濫用,duplicate 不是針對代碼,而是針對功能。這意味著,即使用公共代碼來驗證OrderID和SSN,二者也不會是相同的。使用公共代碼來實現兩個不同的功能,其實就是近似地把這兩個功能永遠捆綁到了一起,如果OrderID改變了其格式,SSN驗證代碼也會中斷。因此要慎用這種組合,不要隨意捆綁類似但不相關的功能。

      原則2:封裝變化

      在軟件領域中唯一不變的就是“Change”,因此封裝你認為或猜測未來將發生變化的代碼。OOPS設計模式的優點在于易于測試和維護封裝的代碼。如果你使用Java編碼,可以默認私有化變量和方法,并逐步增加訪問權限,比如從private到protected和not public。有幾種Java設計模式也使用封裝,比如Factory設計模式是封裝“對象創建”,其靈活性使得之后引進新代碼不會對現有的代碼造成影響。

      原則3:開閉原則

      即對擴展開放,對修改關閉。這是另一種非常棒的設計原則,可以防止其他人更改已經測試好的代碼。理論上,可以在不修改原有的模塊的基礎上,擴展功能。這也是開閉原則的宗旨。(北京北大青鳥校區)

      原則4:單一職責原則

      類被修改的幾率很大,因此應該專注于單一的功能。如果你把多個功能放在同一個類中,功能之間就形成了關聯,改變其中一個功能,有可能中止另一個功能,這時就需要新一輪的測試來避免可能出現的問題。

      原則5:依賴注入或倒置原則

      這個設計原則的亮點在于任何被DI框架注入的類很容易用mock對象進行測試和維護,因為對象創建代碼集中在框架中,客戶端代碼也不混亂。有很多方式可以實現依賴倒置,比如像AspectJ等的AOP(Aspect Oriented programming)框架使用的字節碼技術,或Spring框架使用的代理等。(北京北大青鳥校區,未完待續)

      北大青鳥網上報名
      北大青鳥招生簡章
      主站蜘蛛池模板: 久久久久久免费一区二区三区| 欧美日韩精品一区二区在线观看 | 亚洲香蕉久久一区二区 | 中文字幕一区二区三区永久| 国产suv精品一区二区6| 国产精品无码一区二区三区不卡 | 久久国产精品免费一区二区三区| 香蕉久久av一区二区三区| 色一乱一伦一区一直爽| 日韩一区二区a片免费观看| 伊人久久精品无码av一区| av无码一区二区三区| 国产日韩精品一区二区在线观看 | 日韩精品无码一区二区三区| 99久久精品国产免看国产一区 | 无码毛片一区二区三区视频免费播放 | 乱码精品一区二区三区| 日本一区二区免费看| 任你躁国产自任一区二区三区| 国产免费播放一区二区| 一区二区三区久久精品| 无码日韩人妻AV一区免费l | 国产福利电影一区二区三区,日韩伦理电影在线福 | 麻豆AV天堂一区二区香蕉| 精品无码一区二区三区在线| 日韩好片一区二区在线看| 亚洲视频在线观看一区| 精品人无码一区二区三区| 91亚洲一区二区在线观看不卡| 亚洲一区二区三区91| 韩国一区二区视频| 一区国产传媒国产精品| 亚洲AV无码一区二区三区网址| 精品无码人妻一区二区三区18| 成人精品一区二区激情| 日本在线观看一区二区三区| 精品久久久久一区二区三区| 色噜噜AV亚洲色一区二区| 无码毛片视频一区二区本码| 国产精品制服丝袜一区| 国产乱码精品一区二区三区香蕉 |