确定两种设计模式?

时间:2017-02-14 21:55:24

标签: design-patterns

我有两种方法来实现类的处理,我很好奇是否有这两种设计模式名称。

首次实现 - 自持类:

Car c;
c.load(1);
c.Model = "Ferrari";
c.Color = "Yellow";
c.drive();
c.save();

在此方法中,类包含属性和方法。它在同一个类中拥有所有业务逻辑,并且知道如何加载和持久化。

此方法是否有设计模式名称?

第二个实现 - 控制器代理和数据对象;

CarAgent carAgent;
Car c = carAgent.load(1);
c.Model = "Ferrari";
c.Color = "Yellow";
carAgent.drive(c);
c = carAgent.save(c);

这种方法使用两个类。 Car class是一个"愚蠢的" datacarrier类只有属性。其中没有业务逻辑。所有为Car类完成的工作都是使用CarAgent完成的。它包含所有业务逻辑,但没有任何内部状态或属性。

这是否也有设计模式名称?

1 个答案:

答案 0 :(得分:3)

  1. Active record在数据库表或视图中包装行的对象,封装数据库访问权限,并在该数据上添加域逻辑。

    < / LI>
  2. Repository (a) + domain object (b) :( a)介于域和数据之间使用类似集合的接口映射层以访问域对象。(b)域对象是纯域信息的逻辑容器,通常表示问题域空间中的逻辑实体。无行为对象也可以是POCO

  3. 这不是100%准确,因为确定的答案将涉及检查您的实际代码。