- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我记得在某处看到过有关此问题的辩论,并且目前正在考虑删除我正在处理的系统中的每个业务对象都继承自的基础对象。它包含一些属性、一些数据库逻辑和一些构造函数逻辑。
这是一种反模式,还是陪审团还在外面?有一个基础合约来继承会更好吗,这需要在每个对象中完成一定数量的样板编码?
编辑 :我确实喜欢 dsimcha 并且觉得它很好地反射(reflect)了这个问题,我仍然很高兴听到任何进一步的答案
最佳答案
标准的经验法则是使用继承只是为了通过多态为类的用户提供灵活性,如果您想重用其他类的代码,请使用组合。但是,只要您不违反 Liskov Substitution Principle这可能还不错。编写大量样板本质上也是一件坏事,因为它掩盖了代码中实际发生的部分并且是反 DRY 的。但是,如果您违反了 Liskov 替换原则,那么这绝对是一个坏主意。
关于anti-patterns - 拥有无处不在的基础对象是一种反模式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/525186/
我们突然开始收到 SequelizeConnectionAcquireTimeoutError 2或3周前的日志,我不知道我能做些什么了。 所以显然有一个连接池,当它已满时,之后的所有操作都会超时,因
由于 IE 的原因,我需要构建一个自定义错误,但是,必须尽我所能,使用构造函数检查错误。 customError instanceof CustomError; // false customErro
相当确定 gradle 适合我。几天前启动了一个运行良好的项目。更新了android studio,再次打开项目。我已经尝试了所有我能想到的方法,从删除/更新检查 xml 文件和结构的库。删除 gra
我希望看到 SO 社区对此的回应。我了解 ViewModel 基本上用于将 View 与数据绑定(bind)。当表单提交时,返回(模型绑定(bind))的对象应该是 ViewModel 还是实体?我知
我想知道 NSUserDefaults 对象是否是共享的,并且可以从应用程序委托(delegate)以及我的几个 View Controller 中访问。基本上我需要从应用程序委托(delegate)
将所有 Sql Server 2008 字符串列设为 varchar(max) 是否有任何问题?我允许的字符串大小由应用程序管理。数据库应该只保留我给它的内容。在 Sql Server 2008 中将
因此,我一直在尝试对自定义 WordPress 主题进行一些更改,该主题引入了对仪表板的全面检修。我一直发现我需要修复的原始主题的小问题(导入新帖子时未正确检查重复帖子,未正确存储帖子元数据,未将帖子
我到处都能看到 Open Sans 字体,大多数时候它都非常流畅,即使在 Chrome 中也是如此。但是当我从 adobe typekit 或 google fonts 添加 open sans 到我
我有一个通用 Parameter 接口(interface)及其ParameterImpl 具体类。 T 可以是 float 、长整型、整数或字符串。 public interface Paramet
我正在尝试编写一个简单的 Ubiquity将在 Wolfram Alpha 上运行查询的命令, 并在 Ubiquity 预览对象中显示结果。 我需要设置预览对象的innerHTML。我目前这样做是为了
我有一个完全自定义的 PHP 站点,其中包含大量数据库调用。我刚刚被注入(inject)黑客攻击。下面的这一小段代码出现在我的许多 PHP 页面中。 而且这个看起来不像 SQL 注入(inject)
我有一个 IntelliJ java 项目,我的源文件夹下有一些 HTML 文件模板。该项目已构建并输出到\target\文件夹。 HTML 文件模板也被复制到目标文件夹。 我一直试图从“到处搜索”结
我在尝试让 iCloud 与我的应用程序一起工作时遇到了一些麻烦。我尝试按照 Tim Roadley 的示例 here ,但每当通过 Xcode 启动应用程序时,仍然会显示下面的日志(同步确实可以短暂
我是一名优秀的程序员,十分优秀!