我有一個類需要從一個系統的數據庫獲取產品信息並將其保存到另一個系統的產品數據庫。幫助類設計
我會從第一個系統產品A和其他產品B調用一個產品。產品B的數據取決於從用戶中選擇的設置。
因此產品B可能有GetDescriptions方法着眼於使用表示變量說明1,從產品A或者他們可以選擇說明2或者也可以使用說明已在產品B.用戶設置
這是好的,但有很多設置和方法來獲取描述。這是問題所在,我有很多方法似乎都與產品B有關。像GetDescription,GetName,GetSku這樣的方法都是根據用戶設置進行設置的,並且都依賴於產品A.
儘管它們都是似乎與產品B有關,該班正在成長得非常龐大,我希望將班級中的某些方法轉移到另一班。我正在考慮使用工廠模式。像下面的東西(代碼只是一個快速的想法)
public class ProductBuilder
{
public ProductB BuildProduct()
{
SkuBuilder.BuildSku(ProductB,ProductA);
ProductDescriptionBuilder.BuildDescription(ProductB,ProductA);
}
}
我的問題是:什麼是一個好的設計?我上面提出的方法是否可以接受?你看到這個設計有任何潛在的問題嗎?