關(guān)于低耦合封裝
要探討低耦合封裝让虐,就必須先簡(jiǎn)單說(shuō)說(shuō)對(duì)封裝的理解氓润。
什么是封裝?
封裝簡(jiǎn)單的說(shuō)就是用特定的代碼框架將某些功能模塊化屋厘,并且將類(lèi)中的一些成員變量涕烧、方法進(jìn)行保護(hù),不被外界所訪問(wèn)到汗洒,有一種權(quán)限的控制功能议纯,能夠增強(qiáng)數(shù)據(jù)的安全性和簡(jiǎn)化程序的編寫(xiě)工作。
為什么要封裝溢谤?
1.代碼邏輯結(jié)構(gòu)更加清晰瞻凤。
2.冗余代碼量減少,更加清爽世杀。
3.維護(hù)量也較低阀参。
封裝要注意什么?
1.靈活性
2.低耦合
3.易拓展
4.易維護(hù)
下面就說(shuō)說(shuō)關(guān)于低耦合封裝U鞍印=岜俊!
低耦合體現(xiàn)的就是程序設(shè)計(jì)中的模塊化設(shè)計(jì)湿镀,將兩個(gè)元素之間的聯(lián)系、影響降低到最小伐憾。一般來(lái)說(shuō)接口越少的封裝耦合性越低勉痴,但是靈活性就可能達(dá)不到要求,這兩者是相互制約的树肃。通常情況下蒸矛,如果你的封裝希望廣泛的被別人使用,基本上就要做到徹底解耦,因?yàn)橹挥羞@樣才能讓別人使用的時(shí)候不受到其他影響雏掠,這個(gè)時(shí)候最主要考慮的是耦合性而不是靈活性了斩祭。同樣的,如果你的封裝針對(duì)自己項(xiàng)目定制的話乡话,更多考慮的就是靈活性了摧玫,因?yàn)檫@樣針對(duì)的是不同場(chǎng)景的使用,接口自然而然就多了绑青。所以對(duì)于開(kāi)發(fā)者而言就要根據(jù)不同的需求去平衡耦合性與靈活性之間的關(guān)系诬像。
降低耦合度的方法
1、少使用類(lèi)的繼承闸婴,多用接口隱藏實(shí)現(xiàn)的細(xì)節(jié)坏挠。
2、模塊的功能化分盡可能的單一邪乍,道理也很簡(jiǎn)單降狠,功能單一的模塊供其它模塊調(diào)用的機(jī)會(huì)就少。
3庇楞、遵循一個(gè)定義只在一個(gè)地方出現(xiàn)榜配。
4、少使用全局變量姐刁。
5芥牌、類(lèi)屬性和方法的聲明盡量在.m中。
6聂使、多用設(shè)計(jì)模式壁拉,比如采用MVC的設(shè)計(jì)模式就可以降低界面與業(yè)務(wù)邏輯的耦合度。
7柏靶、最后當(dāng)然就是避免直接操作或調(diào)用其它模塊或類(lèi)(內(nèi)容耦合)弃理;如果模塊間必須存在耦合,原則上盡量使用數(shù)據(jù)耦合屎蜓,少用控制耦合痘昌,限制公共耦合的范圍,避免使用內(nèi)容耦合炬转。
總結(jié):耦合是影響軟件復(fù)雜程度和設(shè)計(jì)質(zhì)量的一個(gè)重要因素辆苔,在設(shè)計(jì)上我們應(yīng)采用以下原則:若模塊間必須存在耦合,應(yīng)盡量使用數(shù)據(jù)耦合扼劈,少用控制耦合驻啤,慎用或有控制地使用公共耦合,并限制公共耦合的范圍荐吵,盡量避免內(nèi)容耦合骑冗。盡量減少由于交互引起的單個(gè)模塊無(wú)法獨(dú)立使用或者無(wú)法移植的情況發(fā)生赊瞬, 盡可能多的單獨(dú)提供接口用于對(duì)外操作。