欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

面向对象软件开发代码结构(2)

发布时间:2023/12/10 36 豆豆
生活随笔 收集整理的这篇文章主要介绍了 面向对象软件开发代码结构(2) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

使用封装降低信息的复杂度

封装是面向对象编程的核心思想之一。

封装的过程,是将大量的信息(过程、数据),凝缩成满足特定需求的接口的过程。
从数量上来说,好的封装必然是将大量的、与业务交互无关的实现细节隐藏起来,只暴露出少量的交互接口。如果封装后比没有封装情况下信息增加了,那这种情况可以考虑不做封装或轻量级封装,当然这需要结合以后是否需要扩展来考虑。

当然与封装相反的是,信息体的访问完全可以在不封装的条件下访问。这种方式存在的问题是,如果访问的代码存在于多个地方的话,就会产生重复。重复的代码是对修改不友好的。因为一旦需要修改访问代码,就需要改动多个地方,会产生大量的工作量。

另外,封装后的接口相对于原有的信息体而言,一般信息量是大幅度减少的,只需要几个函数和较少的参数和返回值即可访问。这对使用此信息体的开发人员来说,只需要掌握必要接口的使用方法即可,无需每次使用此功能时,都重新回顾此信息体的内部运作原理。

由上可以看出,封装的作用有:

  • 隐藏实现细节
  • 提高代码复用率
  • 减少思考负担
  • 封装形式

    函数是最基本的封装形式。
    面向对象编程中,类是新的一种封装形式。
    库/模块是更高级别的封装形式。
    大到系统软件、工具软件也是一种信息体的封装形式。

    另一种理解方式

    既然封装是一种由多到少的过程,可以将一次封装理解为建立树的过程。
    实际项目中,一个软件致力于解决某一领域的某一类问题。在分析需求时,需要将需求逐层分解,大问题化成小问题,不相关的问题之间相互独立,这是一种和封装相反的过程。但是其分解后的结果可以为封装提供依据。

    封装相关的问题

    封装要侧重对需求不易改变的部分进行。如果封装的部分需求易变,那么以后免不了要做出修改,而且修改的内容可能很多,这就导致以前的封装工作白费。在分析需求的基础上,一种可行的方法是对需求易变的部分进行相对宽松的、轻量级的封装。

    封装范围问题。封装的范围要尽量小,要对具有高度关联的信息进行封装,实现高内聚。

    减少嵌套。嵌套会增加耦合性,并导致访问路径变长。


    未完待续

    总结

    以上是生活随笔为你收集整理的面向对象软件开发代码结构(2)的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。