【发布时间】:2011-01-13 21:59:54
【问题描述】:
最近我对 OOP 失去了信任。我已经看过很多 抱怨常见的 OOP 误用或只是简单的过度使用。我不 表示 is-a 和 has-a 关系之间的常见混淆。我是说 处理关系数据库时的 ORM 问题, 从 C# 继承的过度使用以及几年的寻找 在代码中具有与 Scott Meyers 相同的错误封装信念 在 Effective C++ 的第 23 条中提到
我有兴趣了解有关此软件和非 OOP 软件的更多信息 可以比 OOP 更好地解决某些问题的模式 同行。我坚信外面有很多人 就如何将其用作非纯 OOP 的优势提供很好的建议 C++ 等语言。
有没有人知道任何好的参考资料(作者、书籍、文章)可以得到 开始了吗?
请注意,我正在寻找两个相关但不同的东西:
- OOP 概念的常见误用(如第 23 条)
- OOP 不是最佳解决方案的模式(有替代方案)
【问题讨论】:
-
过度使用继承??那是什么?
-
使用继承,最好使用聚合。
-
关系型数据库有它自己的问题,所以T-SQL之类的东西正在发展成全语言,你可以写Java SQL Server程序等等。另外ORM也不错,我自己写的很可用的。并为诺亚的评论+1,真的,过度使用继承是什么?!
-
@dzendras - 既然可以复制/粘贴,为什么还要使用聚合??
-
我不确定我是否信任这个“疯狂的埃迪”。