私たちが知っているように、Microsoft はかなり前に動的型を導入しました。また、場合によっては ASP.NET MVC アプリケーションにも適用しました。しかし、私にとっては、すべての場合に適しているわけではありません。具体的には、 The Acyclic Dependencies Principle のようないくつかの基本原則に違反しているように見えます。たとえば、パッケージ B を使用するパッケージ A があり、BI では動的および A への参照を使用します。正常に動作します。問題は、動的型を正しい方法で使用するにはどうすればよいですか?
3 に答える
ダイナミックは型ではなく、シンタックス シュガーです。型はオブジェクトになりますが、コンパイラは実行時に変数の実際の型を検出するために多くのコードを挿入します。
これは、実際の型がわからない場合に使用するためのものです。たとえば、.Net 上で実行される動的言語で使用されます。
怠惰なショートカットとして悪用される可能性があります(ただし、そのためにはvarを使用します)が、その場合、パフォーマンスが低下します。簡単に言えば、強力なタイピングでは問題を簡単に解決できない場合に使用する必要があります。
経験から言えば、やらないでください。真剣に、遅かれ早かれあなたは後悔するでしょう。ダイナミクスを使用することを決定するたびに、それは間違いであることがわかりました。ダイナミクスを使用すると、リファクタリングが悪夢のようになり、型の安全性という最大の利点が失われます。コンパイル時ではなく実行時にエラーが表示されます。
通常、設計を改良して oop の原則を使用するか、いくつかの共通のインターフェイスを見つけようとする方が 10 倍優れています。
これは、java スクリプトなどの動的言語での作業を簡素化するためにのみ使用してください。そうしないと、プログラムのパフォーマンスと心の正気に悪影響を及ぼします:)
したがって、ダイナミクスのベスト プラクティスは、ダイナミクスの使用を避けることです。