2016-11-19 9 views
0

私は次のような構造を持っているソリューションを持っている:Emailerクラスはどこに配置するのですか?

- My Solution 
-- Core 
--- Core.Interfaces (DLL) 
--- Core.Data (DLL) 
--- Core.Business (DLL) 
-- Models 
--- Models.Enums (DLL) 
--- Models.DTOs (DLL) 
--- Models.Model (DLL) 
-- Clients 
--- Client Access (ASP.NET MVC) 
--- Management Access (ASP.NET) 

は今、私も両方のクライアントで、主にCore.Businessに使用されるEmailerのクラス(IEmailerとEmailerの)、私の最初の考えを持っていますそれをCore.Businessプロジェクトに配置することです。

emailerクラスの論理的な場所ですか?

+1

Tharはアーキテクチャに大きく依存します。私たちはアセンブリの名前を持っていますが、アセンブリの名前はありません。 – Sefe

+0

@safe私は彼らが何をしているのかを簡単に説明する名前を作ったので、データは基本的にデータアクセスオブジェクト、ビジネスはビジネスオブジェクトなのです。 – Him

答えて

0

Infrastructure.Servicesのように、Core.InterfacesEmailerに新しいアセンブリにIEmailerを追加します。同じアセンブリにインターフェイスと実装を持たせることにはあまり効果がありません。

次に、私はCore.BusinessInfrastructure.Servicesアセンブリに直接的に依存しないことを保証します。したがって、Emailerタイプには直接依存しません。