2017-02-14 46 views
0

我有兩種方法來實現處理類,我很好奇這兩個設計模式的名稱。識別兩種設計模式?

先執行 - 自我持續存在的類:

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類是隻有屬性的「笨」數據載體類。沒有業務邏輯。正在使用CarAgent完成Car類的所有工作。它包含所有業務邏輯,但沒有任何內部狀態或屬性。

這是否也有一個設計模式名稱?

回答

3
  1. Active record,在一個數據庫表或視圖包裝了一個行的對象,封裝了數據庫訪問,以及在該數據添加域邏輯。

  2. Repository的(a) + domain object(B):(一)使用用於訪問域對象的集合狀界面域和數據映射層間介導。(b)域對象是純域信息的邏輯容器,通常代表問題域空間中的邏輯實體。無行爲的對象也可能是POCO

它不是100%準確的,因爲一個明確的答案會涉及檢查您的實際代碼。