この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 21011|答える: 0

[コンソールプログラム] C# Unity シリーズ(1) コンソールプログラムはインターフェース依存性注入を実装しています

[リンクをコピー]
2020年7月16日 17:04:11に投稿 | | | |
Unity Containers(Unity)は、機能が充実し拡張可能な依存性インジェクションコンテナです。 これは緩い結合アプリケーションの構築を支援し、開発者に以下の利点を提供します:

特に階層的なオブジェクト構造や依存関係において、オブジェクト作成の簡素化
要件抽象化; これにより、開発者はランタイムや構成上で依存関係を指定でき、横断的な懸念の管理が簡素化されます
コンポーネント構成をコンテナに委ねることで柔軟性を高める
サービスポジショニング能力、 これによりクライアントはコンテナを保存またはキャッシュできます
インスタンスおよびタイプによる傍受
登録に同意してください

まずは新しいcsharp-unity-demoコンソールアプリケーションを作成しましょう。

NuGetは以下のコマンドで2つのパッケージをインストールします:

新しいIUserインターフェースと新しいユーザークラスを作成し、コードは以下の通りです:



App.configファイルを設定してください

ファイルやアセンブリ「Microsoft.Practices.Unity.Configuration」を読み込めませんでした
https://www.itsvse.com/thread-9220-1-1.html

コンテナを持つUnityノードを定義すると、そのコレクションには複数のコンテナが存在できます。以下のように:

簡略的な構成は以下の通りです:



プログラムファイルエントリメソッドでは、Unityを通じて新たに作成されたIUserインターフェースのGetUserNameメソッドを呼び出します。コードは以下の通りです:

実装結果は以下の通りです。



ご覧の通り、Unityを使うたびに新しいユーザーオブジェクトをインスタンス化します。

ソースコードダウンロード:ハイパーリンクのログインが見えます。





先の:(エラー) cvc-datatype-valid.1.2.1: 'xx' は「gYearMonth」の有効な値ではありません。
次に:Linuxはフォルダ内に特定の文字が含まれているファイルを探します
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com