这是一个合适的MonoState设计吗?

时间:2009-05-07 21:37:28

标签: c# oop monostate

我有一个Person课程,并且基于我在这篇文章中收到的一些帮助。

MonoState, Singleton, or Derived Forms: Best approach for CRUD app?

我有一个CurrentPerson类(??)它,我通过它访问数据。

我想我明白这应该如何运作,但似乎我没有相当正确。

问题:

  1. 对于初学者,不应该Person且其所有成员变量都私有

  2. 为什么PersonCurrentPerson中声明时是静态的?是对的吗?

  3. Person实际上有子对象AddressEnrollmentCaseNote。我如何加入它们?围绕CurrentEnrollment的{​​{1}}包装?

  4. 作为应用科学,我对OOP相当陌生,所以其中一些概念对我来说很难想象。

    代码很长,我道歉。


    Enrollment

    P.S。如果DanielBrückner碰巧读到这个,请不要冒犯,因为我不是第二次猜测你的答案;我只需要对某些项目进行更深入的澄清,以便在我的应用程序中正确理解monostate的使用。

1 个答案:

答案 0 :(得分:1)

关于字段是否应该是私有的,这只是新的(C#3.0?)方式在没有支持变量的情况下声明属性。一个常见的变化是

public string SomeProperty { get; protected set }

'当然,只要你想在setter中做一些像验证这样的事情就不行了,你必须回去编写setter和getter,并声明一个支持变量。

我不确定静态CurrentPerson.Person()方法的意图是什么,或者它是如何设置的。

对于第三个问题,如果我理解你的话,你会给Person类一个Address类型的属性并访问它:

Console.WriteLine(somePerson.HomeAddress.City);