2

我目前正在使用 MVC 模式制作一个简单的待办事项列表程序,因此有一个笔记本的模型类。然而,有些东西感觉“不对劲”,因为它的成员数量非常少。

Notebook 由类别组成,类别由 To-do 列表组成,To-do 列表由 Items 组成。

我不能放置的是这是一个案例分析不佳(例如,有更多的成员和职责,我只是想念他们..)或者可能是不需要该类的代码味道(在那种情况下,我不知道该怎么做就像我可以在该控制器中有一个类别列表一样,但是我没有建模的笔记本实体,这似乎也是错误的)。

下面是我的非常简单的课程:

class Notebook
{
    private String title;
    private List<Category> categories;

    public Notebook(String title, List<Category> categories)
    {
    }

    public void setCategories(List<Category> categories)
    {
    }

    public List<Category> getCategories()
    {
    }
}

我经常遇到这个问题,感觉就像我正在为此而上课,并且他们有很多成员/责任,所以很高兴知道我是否无缘无故地强调。

4

1 回答 1

1

不一定,领域驱动设计中有所谓的“标准类型”的概念。这实际上是包装在对象类中的基本原语。这个想法是原语不包含关于它包含什么信息的信息,它只是一个字符串/int/whatever。因此,通过说一个围绕原语的对象并确保它始终有效,可以确保该对象的意义远远超出它所包含的原语,例如,名称不仅仅是一个字符串,它是一个名称。

这是取自 Velocity 评论的示例

public class Velocity
{
    private readonly decimal _velocityInKPH;

    public static Velocity VelocityFromMPH(decimal mph)
    {
       return new Velocity(toKph(mph));
    }

    private Velocity(decimal kph)
    {
       this._velocityInKPH = kph;
    }

    public decimal Kph
    {
       get{ return this._velocityInKPH; }
    }

    public decimal Mph
    {
       get{ return toMph(this._velocityInKPH); }
    }

    // equals addition subtraction operators etc.

    private static decimal ToMph(decimal kph){ // conversion code }
    private static decimal ToKph(decimal mph){ // conversion code }
}
于 2013-06-27T16:35:32.173 回答