知识卡片
封装留接口
内容
封装不是把一切藏起来,而是把内部状态和实现细节圈进边界,只暴露稳定、必要的访问入口。边界能保护内部一致性,接口让外部协作变简单。发散:过度封装会把无关对象硬塞在一起,边界反而变成维护障碍。
参考来源
- 位置:《秒懂设计模式 2021》第1章《初探》1.1节「封装」可乐杯/主机机箱例子(源文件:_epub-src/OEBPS/Text/chapter001.html)
- 结论依据:原文用可乐杯只留吸管接口、主机机箱预留USB等接口的例子,明确封装是把内部状态圈进边界、只暴露必要访问入口,直接支持卡片论点。
- 原始内容:"封装隐藏了杯子内部的饮料……而对于杯子外部来说只留有一个'接口'用于访问……对外暴露的吸管接口带来了极大便利,顾客在喝可乐时根本不需要关心杯子的内部对象和工作机制……如果把一些不相干的对象硬生生封装在一起,就会使代码变得莫名其妙,难于维护与管理"