- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在学习 C#,并决定为矩阵及其功能编写一个类库,以获得一些经验和实践。
好的,现在我有了如下的类模型:
class Matrix // For rectangular matrices
{ }
class SquareMatrix : Matrix
{ }
class RowMatrix : Matrix
{ }
class ColumnMatrix : Matrix
{ }
每个类都有一个合适的构造函数来获取特定矩阵的维度或顺序。
现在我的 SquareMatrix 类有一个特定的函数来查找和返回行列式。我在这里面临的问题是,如果我的库的用户创建了维度为 n 和 n 的 Matrix 类型的实例,那么他将无法使用 Determinant() 方法,因为它仅驻留在 SquareMatrix 中,而他的实例是 Matrix 类型.
其他方法也会出现类似的问题。
所以我的问题是:
提前谢谢大家:)
最佳答案
您在这里要对抗的是 Liskov 替换原则。基本上你需要做的是不要使用旧的“......是一个......”来计算父类(super class)/子类。而是尝试使用“...可以替代...”
如果您刚刚开始使用 C#,您的第一站应该是学习 SOLID 的原理。对于 S 和 L 的答案工作
这将帮助您解决 L, http://www.oodesign.com/liskov-s-substitution-principle.html
检查这个 SOLID,http://www.codeproject.com/Articles/703634/SOLID-architecture-principles-using-simple-Csharp
当你想在 I 和 D 上工作时,他们会打我,他们是我的最爱
戴尔
关于c# - 设计良好的类和层次结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26311318/
我正在尝试将多个水平链接的 Button 和 TextView 垂直链接为 View 集,但仍保持平面 View 层次结构。这是我的初始布局和代码:
到目前为止,我已经在Google BigQuery上训练了几种模型,目前我需要查看模型的外观(即架构,损失函数等)。 有没有办法获取这些信息? 最佳答案 仔细阅读文档后,我可以说该功能尚不存在。我什至
本文实例讲述了PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)。分享给大家供大家参考,具体如下: 前言: 深度优先遍历:对每一个可能的分支路径深入到不能再深入为止,而且每个
我是一名优秀的程序员,十分优秀!