0

だから私は非常にクールな (そして非常に大規模な) n 層アプリケーションを開発しています。

基本的に、次のアセンブリがあります。

ドメイン
Domain.Contracts

サービス
Services.Contracts

Presentation.Admin
Presentation.Web
Presentation.Core (管理者と Web 間で共有)
Presentation.Core.Contracts を実装する場合があります

私が取り組んでいる主な問題は、異なるレイヤー間の名前の衝突です。 すなわち。

Services.Contracts.AccountServicesRequest
Domain.Contracts.AccountServicesRequest

サービス名にも同じ問題がありました (この場合、WCF などではなくクラスをサービスとして使用しているだけです)。すなわち:

Services.Contracts.IAccountService
Domain.Contracts.IAccountService

ドメインレイヤー IxxxServiceHandler ですべての「サービスハンドラー」を作成することでこれを解決しました。これにより、次のようになります。

Services.Contracts.IAccountService
Domain.Contracts.IAccountServiceHandler

ただし、レイヤー間を行き来するオブジェクトでこの問題を解決できませんでした。これは、私のソリューションを通じて多くの場所に散らばっているようです。誰かが同じ問題を抱えているかどうかを知りたかっただけです。もしそうなら、どのように解決しましたか?

4

1 に答える 1

0

はい、私はこの問題に遭遇しましたが、毎回すぐに修正しました。

適切なクラス命名規則が役立ちます。複数のレイヤーにまたがるクラスで同じ名前を使用することは避けてください。

または、名前空間エイリアスを使用して、たとえば次のようにすることもできます。

services::IAccountService
domain::IAccountService

これは役に立ちますか?

于 2009-12-10T12:29:36.827 に答える