DDD、防腐敗層か?
-
05-09-2019 - |
質問
現在までに構築に対応したアプリケーションに基づくレガシーです。コードとされていたアプリケーションは捨てられないと書き換えたものでは通常は-の代わりに書き換えで、必要なベースに新しいものです。その決定を行ってみてはいかがでしょうDomainDrivenDesignます。で--腐敗防止層ときの解決策です。私が理解できるようにできるので徐々に書き換えのされていたアプリケーション.
が--できないのを見つの良い例です。いただければ幸い 他の 情報。
解決
私の特定の実装では、EmployeeAccessServiceによって呼び出されるとリポジトリで、ファサードの腐敗防止層である。その代表者のEmployeeAccessAdapter.このアダプタを取り出しオブジェクトからのレガシーモデルで得らEmployeeAccessFacadeしすることで、EmployeeAccessTranslatorのオブジェクトからのレガシーモデルのドメインのオブジェクトに自分のモデルです。
EmployeeAccessService
public Employee findEmployee(String empID){
return adapter.findEmployee(empID);
}
EmployeeAccessAdapter
public Employee findEmployee(String empID){
EmployeeAccessContainer container = facade.findEmployeeAccess(empID);
return translator.translate(container);
}
EmployeeAccessTranslator
public Employee translate(EmployeeAccessContainer container){
Employee emp = null;
if (container != null) {
employee = new Employee();
employee.setEmpID(idPrefix + container.getEmployeeDTO().getEmpID());
...(more complex mappings)
他のヒント
から の DDD(ドメイン駆動型のデザイン:に取り組む複雑性中心のソフトウェア) エリック-マーティノー(Ericエヴァンス:
公共のインタフェース 腐敗防止層を通常表示され セットのサービスが この形で る団体をいう。
少し後
方法の一つは、組織のデザイン の腐敗防止層として 組み合わせのファサードやアダプター( からのガンマet al.1995年) 翻訳者と共に 輸送機構 通常必要と システム。
いを感じるかもしれませんが例を見ることを示唆 アダプターのパターン や ファサードパターン.
私に言うエリック-エヴァンスと、腐敗防止層が表示されてサービスの外層である。その腐敗防止層の層からないことが知られている"と言えば"、"腐敗防止層である。内層に使うアダプタ、ファサードにあなたを包み込む遺産の情報源です。
る情報については腐敗防止層: