![]() |
1
44
从我的角度来看,从400万个C++代码行(从一个项目来看),从维护的角度来看,我会说:
我更喜欢备选方案2的风格。因为它更易于搜索(编写可维护代码的关键组件)。 |
![]() |
2
9
2) 是最好的IMO,因为它让你的意图最清晰。
公共变量是 通常 一个坏主意,因为没有封装。假设在更新变量时需要更新缓存或刷新窗口?如果你的变量是公共的,那就太糟糕了。如果你有一个set方法,你可以在那里添加它。 |
![]() |
3
7
我确实认为有一个简单的变量包,可能有一个构造器,以确保它们都初始化到一些正常的情况。当我这么做的时候,我只是把它变成一个
|
![]() |
4
6
|
![]() |
5
4
话虽如此,如果这样的设计需要重构,并且源代码可用,我更愿意使用Visitor设计模式。原因是:
基本思想是:
|
![]() |
6
2
|
![]() |
7
2
下面的一些东西通常不能很好地利用C++属性:
类的定义来指定一个目的(即使它是一个值,比如 数量
您可以通过运算符int隐式访问amount中的值。此外:
|
![]() |
8
1
另一种可能性是:
我不确定我会推荐它,但它有一个好处,即不寻常的符号可以避免用户修改数据。
有时这也许是一个很好的选择:
这样,危险的/编辑功能就可以在一个单独的名称空间中与其自己的文档分离。这似乎是泛型编程的自然选择。 |
![]() |
9
0
让我告诉你另外一个可能性,这似乎是最有节制的。 需要阅读和修改只需声明变量public:
我只需要阅读
|
![]() |
10
0
|
![]() |
Phox · 为NSOperationQueue创建Setter 7 年前 |
![]() |
Rich · 用getter和setter在JavaScript中封装 7 年前 |
![]() |
Mumfordwiz · python属性的不同setter 9 年前 |