首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >封装或不封装

封装或不封装
EN

Stack Overflow用户
提问于 2015-01-07 18:44:21
回答 1查看 59关注 0票数 0

我有一个不错的MVC设置与我的最新项目,将很快扩大到需要更多的人工作的代码,我已经创建。我的项目在斯威夫特。

因此,我对从事较大规模项目的人员感到好奇,对于在给定场景中封装对象,最干净的方法是什么。

  1. 我有一个自定义的图像类: MyImage
  2. 我有一些特殊的对象,这些对象包含一个MyImage对象,以及其他各种数据位。让我们称它为DataObject。

我的问题是关于筑巢。让DataObject用自己的函数封装所有MyImage函数更好吗?

代码语言:javascript
复制
DataObject.doSomething()

还是更好的做法(尤其是在与其他人一起工作时)将所有这些MyImage函数保留在MyImage对象上,并使MyImage对象可以从DataObject访问:

代码语言:javascript
复制
DataObject.myImage.doSomething()
EN

回答 1

Stack Overflow用户

发布于 2015-01-07 18:48:28

这取决于你希望人们如何使用你的软件。他们需要MyImage知识吗?如果不是的话,MyImage的所有功能都应该封装在DataObject中,这样他们就不知道DataObject对它做了什么。在我看来,让MyImage变得可访问是打破了封装,因为它让用户对在DataObject幕后发生的事情有太多的可见性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27826433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档