0
|
S.C. Madsen · 技术社区 · 14 年前 |
![]() |
1
3
你总是可以分开
见: http://msdn.microsoft.com/en-us/library/7c5ka91b(VS.80).aspx |
![]() |
2
3
这里的标准方法是声明成员
附加:这是为这个目的而设计的工具。其他语言还有其他方法来调整可访问性(C++):
而且您不必如此严格地接受“无其他内容”,这两个类可以与其他相关类共享程序集。然后,必须在该库中手动验证禁止访问规则。 |
![]() |
3
2
我建议 private nested class . 这样,即使您的开发伙伴正在同一个名称空间中编写代码,他们也永远无法访问该类。
|
![]() |
4
1
Pehaps您的MyObject应该从MyClass派生,并声明MyClas中的方法受保护。 |
![]() |
5
1
如果不希望用户调用特定于实现的方法,可以尝试抽象到接口或抽象基类。这样消费者只会“看到”您希望他们看到的属性和方法。 您不必使用继承来提供共享功能,也不必依赖成员可访问性来防止其他人使用您不想公开的方法。 例如:
这使用了经典的构造函数注入,当您已经在应用程序中使用依赖注入时效果最好,尽管它在工厂中也非常好。 关键是要明确责任。任何人都不可能调用任何不应该调用的东西,因为“DomainObject”永远不知道什么具体类型实现了共享服务。共享服务也未在域对象上公开。额外的好处是可测试性,以及无需接触DomainObject就可以用另一个实现交换服务的可能性。 |
![]() |
A B · C#Excel自动调整列避免长文本时出错 5 月前 |
![]() |
pseudodev · 失败的测试仅显示堆栈跟踪,不显示完整日志 5 月前 |
![]() |
CactusCake · if语句中应有分号 6 月前 |
![]() |
Bin4ry · 子文件夹中的应用程序设置 7 月前 |