我听说有些人反对使用internal
改性剂隐藏在它们被声明,因为它违背了OOP的主要原则组件外部类和成员。这是真的吗?“内部”修饰符和OOP原则
0
A
回答
3
这是真的吗?
不,这是不正确的。内部可见性修饰符有其用法。有些课程你不想在其包含的程序集之外使用,但仍然需要在程序集中公开。例如,如果你正在设计一个API,那么你可能会有一些你不想公开给你的API消费者的类。
+0
但内部方法...我们使用它们,因为我们不能再使用“测试引用”。 – riezebosch
0
那么人们可以自由发表意见。我不确定“内部”如何击败OOP的主要原则。也许一个链接会帮助我评估他们的立场。
我使用internal来隐藏我不希望组件外部任何人使用的类型。这是在我看来亲OOP
- 暴露的行为,但隐藏实现。
- 使用最严格的访问可能
例如我重构了2种公共类型中的一些通用代码;这个新类型从内部开始。除非某些客户端/测试驱动我增加可视性。此外,我有时会将它作为临时作弊来避免为某些类型编写测试(所有公共类型都应该有测试)。它为我服务的很好。
0
内部关键字允许如果是用来由另一个组件开发者隐藏组件的成员。例如,在.NET框架中,有许多内部类型,这意味着它们仅用于内部程序集使用,并且不在库外部可见。这是封装在装配层面上的。
相关问题
- 1. 内部访问修饰符
- 2. 访问修饰符C# - 内部修饰符
- 3. 访问修饰符的内部类
- 4. C#内部访问修饰符
- 5. Doxygen与C#内部访问修饰符
- 6. .Net程序集和内部访问修饰符的使用
- 7. 生成明确的私有和内部修饰符
- 8. 支持Mongoid ::原子::修饰符定义?
- 9. Eslint规则修饰
- 10. Swing和最终修饰符
- 11. 正则表达式未知修饰符
- 12. Perl的正则表达式修饰符
- 13. 的Javascript正则表达式修饰符
- 14. 米正则表达式修饰符
- 15. __strong修饰符
- 16. __printflike__修饰符
- 17. '出' 修饰符
- 18. AtTask修饰符
- 19. AS3 OOP原则 - 有多远
- 20. C中的OOP原则#
- 21. oop php构造函数访问修饰符,使用哪一个?
- 22. 为什么oop语言没有“只读”访问修饰符?
- 23. c#访问修饰符部分像C++
- 24. 与贪婪修饰符内捕捉组
- 25. 关于修饰符的内存问题
- 26. 用内部修饰符声明的类的Serialize List <>?
- 27. 关于C#中的内部访问修饰符
- 28. 内部类访问修饰符不起作用?
- 29. 如何ReSharper的(R#)更改默认访问修饰符内部
- 30. 访问修饰符如何在JVM内部工作?
问他们他们是否曾经使用* sealed *关键字。熟练设计师的真实标志。 –