- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我使用的 API 违反了 Liskov 替换原则:它抛出自己的扩展 Exception 的异常类型,但将来自基类的异常消息放在新的 ErrorCode 字段中,并将自己的(无用的)消息放在 Message 中 field 。因此,为了显示正确的消息,我需要将 Exception 转换为 DerivedException 类型并使用 ErrorCode 字段。如果我将其视为异常对象,则会收到错误消息。
现在这在风格层面上让我感到厌烦,但它很容易绕过:我可以捕获 DerivedException 并按照程序员的预期使用它。所以我的问题是:Liskov 原则有什么大不了的?人们使用违反原则的等级制度可能会遇到哪些实际问题?
最佳答案
一个实际的例子:
如果您有一个带有LogException(Exception ex)
方法的日志记录类,它将记录您认为无用的消息,而不是“真实”消息。
日志方法的描述将从“记录异常消息”变为“记录异常消息,但有时会记录无用的消息”。
关于c# - 层次结构违反了 Liskov - 那又怎样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6938071/
我正在尝试将多个水平链接的 Button 和 TextView 垂直链接为 View 集,但仍保持平面 View 层次结构。这是我的初始布局和代码:
到目前为止,我已经在Google BigQuery上训练了几种模型,目前我需要查看模型的外观(即架构,损失函数等)。 有没有办法获取这些信息? 最佳答案 仔细阅读文档后,我可以说该功能尚不存在。我什至
本文实例讲述了PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)。分享给大家供大家参考,具体如下: 前言: 深度优先遍历:对每一个可能的分支路径深入到不能再深入为止,而且每个
我是一名优秀的程序员,十分优秀!