- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
你的工作是设计一个支持任务跟踪的项目计划类库(类似于 MS Project 的工作方式)。这个类库有一个 Task
对象(除其他外)。Task
对象有一个 EstimatedHours
( Double
), StartDate
( DateTime
) 和 EndDate
( DateTime
) 属性等。一个 Task
对象可以有一个父对象 Task
和几个 child Task
对象。 EstimatedHours
, StartDate
, 和 EndDate
Task
的属性有 child 的(是 parent )取决于其直接 child 的那些属性。家长 Task
的 StartDate
是最早的StartDate
它的 children 。家长 Task
的 EndDate
是最新的EndDate
它的 children 。家长 Task
的 EstimatedHours
是其子项 EstimatedHours
的总和.因此,在 Task
上更改这些属性是无效的。其中有 child 。
您将如何处理在具有父级的任务上更改 EstimatedHours、StartDate 或 EndDate 的用例? (父级的属性是其子级的反射(reflect),因此对子级的任何更改都可能需要调整父级的属性以适本地反射(reflect)更改)
一种选择是在每个属性更改时设置一个事件。一位家长 Task
将在其直系子节点上监听这些事件 Task
对象,并在这些事件发生时对其自身的属性进行适当的更改。这是一个好方法,还是有更好的方法?怎么会你做吗?
以下是 Task
的基本概念对象可能如下所示:
Public Class Task
Private mChildren As List(Of Task)
Private mEndDate As DateTime = DateTime.MinVlue
Public Property EndDate() As DateTime
Get
Return mEndDate
End Get
Set(ByVal value As DateTime)
mEndDate = value
'What to do here?
End Set
End Property
Private mEstimatedHours As Double = 0.0
Public Property EstimatedHours() As Double
Get
Return mEstimatedHours
End Get
Set(ByVal value As Double)
mEstimatedHours = value
'What to do here?
End Set
End Property
Private mStartDate As DateTime = DateTime.MinVlue
Public Property StartDate() As DateTime
Get
Return mStartDate
End Get
Set(ByVal value As DateTime)
mStartDate = value
'What to do here?
End Set
End Property
End Class
最佳答案
解决这个问题的正确方法是使用观察者设计模式。实现观察者模式的详细解释超出了本讨论的范围。但是这里有一些关于观察者模式的很好的链接。一个链接是here另一个是 here .
http://www.dofactory.com/Patterns/PatternObserver.aspx
http://en.wikipedia.org/wiki/Observer_pattern
关于.NET 对象层次结构 - 事件或不事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/747455/
我正在尝试将多个水平链接的 Button 和 TextView 垂直链接为 View 集,但仍保持平面 View 层次结构。这是我的初始布局和代码:
到目前为止,我已经在Google BigQuery上训练了几种模型,目前我需要查看模型的外观(即架构,损失函数等)。 有没有办法获取这些信息? 最佳答案 仔细阅读文档后,我可以说该功能尚不存在。我什至
本文实例讲述了PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)。分享给大家供大家参考,具体如下: 前言: 深度优先遍历:对每一个可能的分支路径深入到不能再深入为止,而且每个
我是一名优秀的程序员,十分优秀!