登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
1
2
/ 2 页
下一页
返回列表
首页
›
业界区
›
业界
›
大道至简的架构设计思想之:封装(C系架构设计法,sishu ...
大道至简的架构设计思想之:封装(C系架构设计法,sishuok)
[ 复制链接 ]
枢覆引
2025-6-6 08:57:45
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
一起来看看大道至简的一些基本设计思想,首先我们来看一下什么是封装。
封装:也叫做信息隐藏,或者数据访问保护。放到程序上来讲,就是隐藏类的属性,还有实现细节,仅对外公开一些接口。那么外部,就只能通过这个类暴露的这些访问接口,按照这个类提供的方式来访问类的内部信息或者数据。这样子的一种情况就叫做封装。
作为做Java的我们来讲,封装,我们是非常非常熟悉的,因为一开始学Java,学面向对象,就会讲封装、继承和多态。
接下来,我们就来谈一谈,到底面向对象当中封装的本质是什么。其实从字面意义上理解封装,就是把什么东西包装起来,进一步说就是一个封装体。事实上大家想,面向对象当中,
类是不是就是一个封装体?
大家想想,类里面封装的什么呢?无外乎就是一些属性,就是一些数据,然后是方法,其实可以代表它的功能。
也就说一个类,它就是
封装了一定功能的这么一个封装体
。
当然,封装并不仅仅只是对一个类而言,你可以扩大一点,以此类推,从设计的角度来看:
一个组件是不是一个封装?
只不过它封装的,不再是属性、方法,它里头封装的就是一个一个的,其它组件或者模块,或者是类。
以此类推,组件是一个封装体,那
模块是不是一个封装体? 子系统是不是一个封装体?系统是不是还是一个封装体?
只是范围大小不同而已,所以大家会发现,封装是咱们做架构设计一个非常非常基础的、非常重要的思想。
咱们再
从另外一个角度来看一看,类,它其实是代码功能的一个封装,或者说是一个聚合方式。
没有面向对象之前,咱们叫做面向过程设计,或者叫过程化设计。大家可以理解成是这样,这里面有一堆的代码,我们称之为函数,或者说是一些过程。
在过程化设计里面,这些功能都是比较散乱的堆放在一起,也就说每一个功能只管自己,跟其它功能没有什么联系。但后来大家觉得,这样子去摆放代码非常的不友好。要想找一个功能,尤其是带流程的,那就在里头跳来跳去,非常的乱。
大家就想到一个办法:把相关的一些功能,比方说发现这里的功能是相关的,都是用来做,比方说用户数据的管理。我们就可以把这个东西封装起来,然后就演化成,可以用一个类来封装这些东西,就开始面向对象设计了。
这些功能都是相关的,都是用户这个对象应该要实现的功能,也就说从代码的角度,也能够感觉得到,面向对象设计实际上就是把原来这些过程化设计当中,杂乱无章的这些函数或者是功能,按照一定的方式重新进行组织,把它们封装到一起。所以说呢,从某种意上说,类是代码的一种聚合方式。
咱们一个完整的软件系统,就是由大大小小的,各种不同的这种封装体聚合起来的。就好比说一个大的软件系统,又分成了很多的子系统,这个子系统其实也是一种封装。
这个子系统又包含另外的子系统,每个子系统里面可能有很多的模块或者是组件,这些组件里面又有很多具体的功能,也就是它封装的是一定的功能。 这不就是大大小小的封装,最终合起来就是你的这个系统。
所以说
大家要从架构设计的眼光来看待这些问题
。你看一个大的软件系统不就是大大小小的各种各样的封装体吗?至于这里头到底封装的是什么。这个东西就看你怎么划分了,直到最后落实到具体的功能上。
从设计上来讲,到底封装什么呢?对于每一个封装体来说,主要就是为了把核心业务部分,或者是核心功能部分封装起来。那么这么封装起来有什么样的好处呢?也就是为什么要封装呢?
大家想想,当你把这些核心功能封装起来过后,首先对核心功能是一个安全保护。另外呢,也是为了复用这些核心的功能,除了这些呢,把这包装起来的目的,是为了可修改,可维护,可扩展。
有些人说,怎么还会可修改可维护呢?很简单,你把这些功能封装在这个,比方说椭圆里面封装了一堆的功能,事实上,这内部的功能和外部是不是就分开了?你封装的这些功能是不是就可以单独的进行修改,进行维护,并且进行扩展。
只要对外提供的接口不发生变化,那你封装起来的这一块,是不是就可以随便改了。所以说呢,从某种意义上来说,也是封装了变化。
当你觉得这一块以后可能会变,就可以把这块先包装起来,那么以后的变化,就可以在封装体内来实现,而不会影响到外部。当然这个了,跟咱们接下去要讲的一个思想:隔离,是息息相关的,或者是有类似之处的。总之呢,大家会发现封装对我们来讲,是一个非常非常重要的思想,我们一定要重视对他的理解。
为了大家更好的交流架构设计的思想和知识,大家可以加sishuok,拉你进架构设计群,一起共同学习,共同进步。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
架构
大道
设计思想
封装
设计
相关帖子
多租户下的系统基础表设计
嵌入式—ARM 架构简介
罗兰艺境GEO技术架构:基于DSS原则的认知基建工程体系
HagiCode Desktop 混合分发架构解析:如何用 P2P 加速大文件下载
HagiCode Desktop 混合分发架构解析:如何用 P2P 加速大文件下载
HagiCode Desktop 混合分发架构解析:如何用 P2P 加速大文件下载
HagiCode Desktop 混合分发架构解析:如何用 P2P 加速大文件下载
ARM 架构 JuiceFS 性能优化:基于 MLPerf 的实践与调优
电商客服+导购智能体的设计与开发
实时行情系统设计:从协议选择到高可用架构,再到数据源选型
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
多租户下的系统基础表设计
0
834
颛孙中
2026-03-16
安全
嵌入式—ARM 架构简介
0
935
佴莘莘
2026-03-17
科技
罗兰艺境GEO技术架构:基于DSS原则的认知基建工程体系
0
868
这帜
2026-03-18
业界
HagiCode Desktop 混合分发架构解析:如何用 P2P 加速大文件下载
0
233
溜椎干
2026-03-27
业界
HagiCode Desktop 混合分发架构解析:如何用 P2P 加速大文件下载
0
798
恙髡
2026-03-27
业界
HagiCode Desktop 混合分发架构解析:如何用 P2P 加速大文件下载
0
509
汪之亦
2026-03-27
业界
HagiCode Desktop 混合分发架构解析:如何用 P2P 加速大文件下载
0
46
钦遭聘
2026-03-27
业界
ARM 架构 JuiceFS 性能优化:基于 MLPerf 的实践与调优
0
328
啪炽
2026-03-27
业界
电商客服+导购智能体的设计与开发
0
709
杜优瑗
2026-03-30
业界
实时行情系统设计:从协议选择到高可用架构,再到数据源选型
0
400
呼延冰枫
2026-03-31
回复
(35)
姬宜欣
2025-10-11 00:42:54
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
懂技术并乐意极积无私分享的人越来越少。珍惜
幌斛者
2025-10-30 01:11:30
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
感谢,下载保存了
管水芸
2025-11-4 20:36:46
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢分享
钱艷芳
2025-11-11 09:35:10
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
过来提前占个楼
烯八
2025-11-20 13:31:24
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
喜欢鼓捣这些软件,现在用得少,谢谢分享!
敖雨燕
2025-12-9 00:46:20
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
收藏一下 不知道什么时候能用到
喳谍
2025-12-13 11:34:39
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
过来提前占个楼
左优扬
2026-1-8 19:10:06
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
谢谢楼主提供!
慢秤
2026-1-14 09:37:41
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢发布原创作品,程序园因你更精彩
郦湘云
2026-1-14 10:45:01
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢分享
井晶灵
2026-1-15 03:22:00
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
用心讨论,共获提升!
里豳朝
2026-1-16 22:07:00
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
热心回复!
雨角
2026-1-20 13:32:34
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
感谢,下载保存了
赖珊
2026-1-21 00:38:39
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
这个有用。
菅舛
2026-1-21 02:18:08
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
过来提前占个楼
电棘缣
2026-1-21 13:32:59
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
这个好,看起来很实用
捡嫌
2026-1-22 00:56:33
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
鼓励转贴优秀软件安全工具和文档!
褐洌
2026-1-24 05:31:07
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
喜欢鼓捣这些软件,现在用得少,谢谢分享!
澹台忆然
2026-1-27 08:04:46
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
东西不错很实用谢谢分享
下一页 »
1
2
/ 2 页
下一页
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
枢覆引
2026-1-27 08:04:46
关注
0
粉丝关注
29
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991125
anyue1937
9994892
kk14977
6845359
4
xiangqian
638210
5
神泱
9524
6
韶又彤
9916
7
宋子
9882
8
荪俗
9020
9
闰咄阅
9999
10
刎唇
9999
查看更多
今日好文热榜
4
host怎么设置,host设置教程
935
Golang sync.Map 深入探究
3
Golang sync.Map 深入探究
3
Golang sync.Map 深入探究
3
Golang sync.Map 深入探究
3
Golang sync.Map 深入探究
2
Golang sync.Map 深入探究
4
Golang sync.Map 深入探究
4
Golang sync.Map 深入探究
2
Golang sync.Map 深入探究
2
Golang sync.Map 深入探究
2
Golang sync.Map 深入探究
2
Golang sync.Map 深入探究
2
Golang sync.Map 深入探究
2
Golang sync.Map 深入探究
5
Golang sync.Map 深入探究
2
Golang sync.Map 深入探究
3
Golang sync.Map 深入探究
2
Golang sync.Map 深入探究
2
Golang sync.Map 深入探究