iOS 关于低耦合封装

关于低耦合封装

要探讨低耦合封装,就必须先简单说说对封装的理解。

什么是封装?
封装简单的说就是用特定的代码框架将某些功能模块化,并且将类中的一些成员变量、方法进行保护,不被外界所访问到,有一种权限的控制功能,能够增强数据的安全性和简化程序的编写工作。

为什么要封装?
1.代码逻辑结构更加清晰。
2.冗余代码量减少,更加清爽。
3.维护量也较低。

封装要注意什么?
1.灵活性
2.低耦合
3.易拓展
4.易维护

下面就说说关于低耦合封装!!!
低耦合体现的就是程序设计中的模块化设计,将两个元素之间的联系、影响降低到最小。一般来说接口越少的封装耦合性越低,但是灵活性就可能达不到要求,这两者是相互制约的。通常情况下,如果你的封装希望广泛的被别人使用,基本上就要做到彻底解耦,因为只有这样才能让别人使用的时候不受到其他影响,这个时候最主要考虑的是耦合性而不是灵活性了。同样的,如果你的封装针对自己项目定制的话,更多考虑的就是灵活性了,因为这样针对的是不同场景的使用,接口自然而然就多了。所以对于开发者而言就要根据不同的需求去平衡耦合性与灵活性之间的关系。

降低耦合度的方法
1、少使用类的继承,多用接口隐藏实现的细节。
2、模块的功能化分尽可能的单一,道理也很简单,功能单一的模块供其它模块调用的机会就少。
3、遵循一个定义只在一个地方出现。
4、少使用全局变量。
5、类属性和方法的声明尽量在.m中。
6、多用设计模式,比如采用MVC的设计模式就可以降低界面与业务逻辑的耦合度。
7、最后当然就是避免直接操作或调用其它模块或类(内容耦合);如果模块间必须存在耦合,原则上尽量使用数据耦合,少用控制耦合,限制公共耦合的范围,避免使用内容耦合。

总结:耦合是影响软件复杂程度和设计质量的一个重要因素,在设计上我们应采用以下原则:若模块间必须存在耦合,应尽量使用数据耦合,少用控制耦合,慎用或有控制地使用公共耦合,并限制公共耦合的范围,尽量避免内容耦合。尽量减少由于交互引起的单个模块无法独立使用或者无法移植的情况发生, 尽可能多的单独提供接口用于对外操作。

你可能感兴趣的:(iOS 关于低耦合封装)