拥有一个没有方法但只有属性的接口是一个好习惯吗?接口良好实践
Q
接口良好实践
1
A
回答
1
如果您打算拥有一组具有类似基本结构的数据对象,这将有意义。
2
无论接口是否有方法,都没关系。接口公开的成员应该受该接口客户端的要求驱动。
5
想象一下,我们有两个不同的类不能从同一个基础派生:用户和业务。在我们项目的某个阶段,我们决定用户和企业都需要参考地址的元素,例如Street1,Street2,City,State和Zip。我们也有一些代理类,需要能够直接操纵这些值,而不管它们是在哪个类中定义的。
完成此操作的一种方法是创建一个如此类似的接口(在c#中的示例) ):
public interface IHasAddress {
public string Street1 { get; set; }
public string Street2 { get; set; }
public string City { get; set; }
public string State { get; set; }
public string Zip { get; set; }
}
现在,我们可以在其他的类,它下面的方法:
public static class Test {
public static void CheckZip(IHasAddress addressContainer) {
if (addressContainer == null) return;
if (addressContainer.Zip == "33314") addressContainer.State = "FL";
}
}
只要用户和商业实现IHasAddress接口,下面的代码可以编译和工作如预期的那样:
User user = new User();
Business business = new Business();
Test.CheckZip(user);
Test.CheckZip(business);
这是一个纯粹的理论问题/解决方案,但它确实证明这种结构非常好的需求。
0
这是在Java获得适当的枚举前定义一堆相关常量的常用方法。
0
我看不出有什么问题。如果你的应用程序需要一个合同来实现一堆属性,那就这样吧。
1
不要忘记,属性只不过是通常命名的方法get _ PropertyName或设置_ PropertyName。
所以不,我没有看到只有属性的接口没有问题。他们仍然是方法。
相关问题
- 1. AngularJS的良好实践
- 2. 良好的编程实践
- 3. 对象良好实践
- 4. Codeigniter 2良好实践
- 5. ApplicationController上的良好实践
- 6. 良好的代码实践
- 7. AngularJS - 表单良好实践
- 8. 动态类实例:良好实践?
- 9. 实体框架良好实践
- 10. 命名接口和实现并将它们放入包中的良好实践
- 11. 暂存数据库良好实践
- 12. C头文件 - 良好实践
- 13. 良好实践 - 操作设计
- 14. 谷歌地图良好实践问题
- 15. Javafx良好的编程实践
- 16. 封装全局JavaScript良好实践?
- 17. Java - 改进2请求良好实践
- 18. 在.NET良好实践中Querystrings?
- 19. 了解Java的良好实践rmi
- 20. REST - 良好的设计实践
- 21. 是否正在编写接口来帮助测试良好实践?
- 22. 保持数据库连接打开 - 良好实践?
- 23. 接口最佳实践
- 24. 从静态类中使用对主窗口的引用 - 良好实践?
- 25. 如何使用WPF打开一个尊重良好实践的新窗口?
- 26. perl(良好实践):针对套接字的词法文件句柄
- 27. 提高React用户界面性能的良好实践?
- 28. AsParallel()是Web环境中的良好实践吗?
- 29. 关于良好编程实践的书籍
- 30. Singleton中的一次性IDisposable - 良好实践?