[技術討論]OO原則中鬆耦合與高內聚的分析
水木上一個人問的關於OO原則的問題,其中涉及到高內聚與鬆耦合之間的細節區分的內容。
發信人: jamen (*******), 信區: SoftEng
標 題: 問個概念問題
發信站: 水木社群 (Fri Feb 5 13:42:31 2010), 站內
A team of programmers is reviewing a proposed API for a new utility class. A
fter some discussion, they realize thatthey can reduce the number of methods
in the API without losing any functionality. If they implement the new
design,which two OO principles will they be promoting?
A. Looser coupling
D. Higher cohesion
F. Stronger encapsulation
我也不知道正確答案有幾個,想不明白
發信人: lilax (阿香), 信區: SoftEng
標 題: Re: 問個概念問題
發信站: 水木社群 (Fri Feb 5 14:30:18 2010), 站內
F肯定有
D不大清楚,如果就這三個裡面選的話,就選DF吧
發信人: jamen (*******), 信區: SoftEng
標 題: Re: 問個概念問題
發信站: 水木社群 (Fri Feb 5 14:33:14 2010), 站內
呵呵暈了,剛在另外一個地方問,一哥們兒說選AD
發信人: lilax (阿香), 信區: SoftEng
標 題: Re: 問個概念問題
發信站: 水木社群 (Fri Feb 5 14:58:40 2010), 站內
我不確定,你再問別人吧
好像AF也沒什麼不可能
發信人: qingrun (青潤), 信區: SoftEng
標 題: Re: 問個概念問題
發信站: 水木社群 (Fri Feb 5 15:11:32 2010), 站內
這個問題就是說原來有一個類,經過分析後發現,可以減少一些類中的方法,而類的設計功能不變
。
而減少了方法後的類,必然是提高了類內部的聚合能力,所以D的可能性很大。
這裡只提到了類的問題,沒有提到與其它模組之間的連線關係如何實現,是否因此需要原來的類內
多個方法呼叫用一個方法完成,所以,無法確定是否一定實現了A。因此A不確定。
同理,F也有可能,但是,也不好確定是否一定有它,因為這段內容對類的實現沒有說出具體的設
計改變的方法。
發信人: Slimxp (愛上技術), 信區: SoftEng
標 題: Re: 問個概念問題
發信站: 水木社群 (Fri Feb 5 15:56:03 2010), 站內
A D吧,低耦合高匯聚,這不是OO軟工裡面一直提倡的嗎?
發信人: zhangmike (克強總~~~~~~~~~~~~~~理不是偶), 信區: SoftEng
標 題: Re: 問個概念問題
發信站: 水木社群 (Fri Feb 5 22:07:54 2010), 站內
B,C,E等有沒有啊?
發信人: qlw (錢五哥), 信區: SoftEng
標 題: Re: 問個概念問題
發信站: 水木社群 (Fri Feb 5 22:47:22 2010), 站內
可能D、F適用,減少API就意味著需要在介面中包含更多功能,則封裝更多;
同時對模組設計來說,內聚性更強。
發信人: qingrun (青潤), 信區: SoftEng
標 題: Re: 問個概念問題
發信站: 水木社群 (Fri Feb 5 22:58:13 2010), 站內
F的描述也不是很多,A的可能性不大,D的可能性最大。
發信人: jamen (*******), 信區: SoftEng
標 題: Re: 問個概念問題
發信站: 水木社群 (Sat Feb 6 03:53:56 2010), 站內
有這樣一種想法:想像兩個場景,封裝的都很好,一種是鬆耦合一種是緊耦合,顯然緊
耦合需要提供更多的API來支援耦合。
這樣一想,是不是鬆耦合也有可能了?
發信人: qingrun (青潤), 信區: SoftEng
標 題: Re: 問個概念問題
發信站: 水木社群 (Sat Feb 6 14:42:10 2010), 站內
OO原則中提到的是鬆耦合,高內聚.
內聚性只需要看這個介面或者類的內部設計的情況即可,而耦合是類間關係,沒有直接的類間關係
的描述,所以,這個問題中不好說耦合度的變化問題。原題目內容較少,這方面是沒法判斷的。
發信人: jamen (*******), 信區: SoftEng
標 題: Re: 問個概念問題
發信站: 水木社群 (Sun Feb 7 00:43:53 2010), 站內
呵呵,好的,多謝了
【 在 qingrun (青潤) 的大作中提到: 】
: OO原則中提到的是鬆耦合,高內聚.
: 內聚性只需要看這個介面或者類的內部設計的情況即可,而耦合是類間關係,沒有直接的類間關
系的描述,所以,這個問題中不好說耦合度的變化問題。原題目內容較少,這方面是沒法判斷的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/257598/viewspace-627220/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 精通介面隔離原則,輕鬆實現高內聚、低耦合架構架構
- [技術討論]關於低耦合開發的討論
- 物件導向三大特性五大原則 + 低耦合高內聚物件
- 高內聚,低耦合的實現方式
- 軟體工程-----高內聚低耦合軟體工程
- Java 工程解耦即高內聚低耦合Java解耦
- “聲討”高雲的《jQuery技術內幕》jQuery
- 大型專案架構搭建_高內聚、低耦合(1)架構
- IN&EXISTS與NOT IN&NOT EXISTS 的優化原則的討論優化
- 工廠模式與OO設計原則模式
- [技術討論]務實與務虛
- 有沒有一些大廠的高階架構技術討論討論架構
- [技術討論]科學基礎的分析和探討對話
- 股票技術分析的操作原則(轉載)
- 分散式系統關注點——「高內聚低耦合」詳解分散式
- 物件導向OO原則物件
- OO幾條設計原則
- 資訊化技術討論組
- iOS 遵循開閉原則的實際案例討論iOS
- [技術討論]多人併發開發中的問題
- 關於國內技術類書籍的一次討論
- 如何實現軟體設計中的高凝聚和鬆耦合? - thevaluable
- [技術討論]資料許可權中的理論和實際
- [技術討論]遊戲AI設計與機器智慧遊戲AI
- 如何設計一個高內聚低耦合的模組——MegEngine 中自定義 Op 系統的實踐經驗
- [技術討論]程式碼編寫能力與管理手段的配合
- [2]動機、原則與模式——OO設計之我見模式
- [技術討論]國內企業軟體的狀況和瓶頸
- [技術討論]交換程式設計實踐與延續程式設計
- [技術討論]某國外大型業務系統的前期分析對話
- [技術討論]軟體的產品、技術、標準對話
- 今日技術誰當家?——ThoughtWorks技術雷達討論
- [技術討論]多使用者(多公司)的資料庫設計討論資料庫
- 純技術貼:討論一個現實中的需求的架構架構
- DRY原則與微服務的矛盾:共享複用會導致耦合 - AllenHolub微服務
- 功能,介面,類之間轉化,設計的原則的討論。
- [技術討論]Uml工具哪個更好
- 做技術的「五比一」原則