問題タブ [static-class]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
811 参照

c# - 典型的な 3 層ビジネス層における静的メソッドとインスタンス メソッド

現在、ASP.NET MVC を使用して典型的な 3 層 Web アプリを構築しています。以下のように依存性注入(Autofac)で設定しました:

リポジトリは、EF を使用した一般的な汎用リポジトリです。

問題は、アプリに多数のエンティティがあり、エンティティごとに、サービス レイヤーで CRUD 操作のために上記のコードを複製する必要があることです。例: エンティティ "Role" の場合、"InsertRole"、"UpdateRole"、"DeleteRole"... など、他のエンティティにはさらに多くのエンティティがあります。そこで、以下のように STATIC METHOD を使用して CRUD 操作を STATIC CLASS "CommonService" に抽出することで、重複するコードを削除するようにリファクタリングしようとしました。

このクラスを使用して、CRUD 操作のために使用中の重複コードを削除します。Controller では、CommonService.Insert(user); を呼び出すだけです。通常どおり別のサービス メソッドがあり、CRUD の重複はありません。しかし、単体テストを除いて、このアプローチにマイナス面があるかどうか疑問に思っています (CRUD の単体テストは行いません)。Web環境(ASP.NET MVC)でのメモリ管理や同時実行処理に問題はありませんか? EF を使用したデータ処理の同時実行メカニズムをまだ実装していません (エンティティの同時更新...)

前もって感謝します!ミルドル。

0 投票する
2 に答える
87 参照

c# - ASP C# インターフェイス

ASP.NET MVC5 プロジェクトを使用しています。私は商用プログラミングが初めてで、インターフェイスについて少し混乱しています。以前は使用したことがありません。私はほとんど完了しているプロジェクトを持っています。

以下に例を示します。

このサービスを実装するクラスもあります

私のコントローラーが例としての場合、私は UserService を使用しています:

IUserService を実装せずに IUserService の代わりに UserService を静的クラスとして使用しないのはなぜですか?

その場合に似ている場合、インターフェースを使用する利点は何ですか?

0 投票する
0 に答える
872 参照

c# - C# リフレクションを使用して静的クラスのプロパティ値を設定する

各セクションが静的クラスに対応し、各セクションの値がクラスのプロパティに対応するファイル .ini を C# で読み取る必要があります。私は例を行います:

この方法でクラスデータベースを作成しました

したがって、[Database] を読むときは、すべてのパラメーターを読み取る必要があり、この名前が Database クラスに存在する場合は、その値を設定する必要があります。

どうすればそれができますか?Reflection を使用する必要があると思いますが、使用できません。

書いたコードを投稿しますが、この行に到達するとelencoProprietàがnullになります。

0 投票する
1 に答える
1093 参照

unit-testing - 静的メソッド内のオブジェクトで静的メソッド呼び出しをモックする方法は?

私は Junit テストの初心者ですが、いくつかのコードをテストする必要があります。基本的なことはわかったと思いますが、まだ問題があり、インターネット上で何も見つかりませんでした。

テストしたいクラスは次のとおりです。

システムに「first」と「second」の整数を作成させたくありません。代わりに、コードの最後の行が正しく機能するかどうかをテストできるように、それらを「1」にしたいだけです。

MyDB は、静的メソッド (someMethod() および someOtherMethod()) を持つパブリック クラスです。

メソッド methodToTest をテストしたい。このメソッドを parms で呼び出そうとし、最後に変更された params を予想されるものと比較しました。

私は Mockito と PowerMockito を使用しています。

これは私の試みの1つです:

私が得る例外は、「when() に渡された引数はモックではありません!」です。

誰でも私を助けてくれることを願っています。この問題を解決するために何時間も費やしましたが、成功しませんでした。

ありがとうございました!!!

0 投票する
5 に答える
12973 参照

c# - 静的クラス VS プライベート コンストラクター

今日は、静的クラスとプライベート コンストラクターについて読んでいます。

静的クラス - 静的クラスでインスタンスを作成できません。静的クラスを継承することはできません。生成されるインスタンスは 1 つだけです。

プライベート コンストラクター - インスタンスを作成できません。継承することはできません。(インスタンスがいくつ生成されるかはわかりません。)

2 つのコンソール アプリケーションを作成しました。1 つは静的クラス用、もう 1 つはプライベート コンストラクター用です。

静的クラス コード

ここに画像の説明を入力

コンストラクターが1回呼び出されると、単一のオブジェクトが生成されることを理解しました。

プライベート コンストラクター コード

ここに画像の説明を入力

さて、オブジェクトが生成されるかどうかがわかりませんでした。

2つ質問があります。

質問 1. Private コンストラクターと Static クラスの間に特に違いはありませんでした。Private Constructor を使用する必要があるシナリオと、両方を使用できるので Static クラスを使用する必要がある場所を教えてください。

質問 2. プライベート コンストラクターを使用すると、いくつのオブジェクトが生成されますか?

ありがとう。

編集 :

人々は私の質問を理解していなかったと思います。静的コンストラクターは常に最初の参照で 1 回呼び出すことを知っています。静的コンストラクターは、クラスの静的メンバーを初期化するために使用されます。

質問 1. 状況があります。インスタンス化できないクラスを作成する必要があります。これは、静的クラスまたはプライベート コンストラクターのいずれかで行うことができます。だから私の質問は、「両方に違いはありますか? どちらを使用すればよいですか??」

質問 2. プライベート コンストラクターを使用すると、いくつのオブジェクトが作成されますか? 答えが 0 の場合、プライベート コンストラクターのメモリ割り当てが CLR でどのように機能するか。プライベート コンストラクターを使用する場合、メモリ割り当てはありません。

0 投票する
1 に答える
153 参照

java - すべてのオブジェクトの静的または新しいインスタンス?

コードの一部が次のように見えるのを見ました

変数を入れた場合C c。(これは、クラス A のすべてのオブジェクトのデフォルトです) クラス のすべてのオブジェクトに対して、クラス のA大規模なオブジェクトに対して大量のメモリを使用するだけです。静的Aにする方がよいでしょ うか? C cクラス全体に対して class のインスタンスを 1 つだけ作成しC、それを class のすべてのオブジェクトに使用しますA。そうすれば、その後、コードは好きになります

}

私はそれがより良い方法だと思います、おそらく私は間違っています。アドバイスをください。

0 投票する
0 に答える
124 参照

python - Python - ハードウェア IO の静的インターフェイス

これはやや一般的な質問なので、ガイドラインに違反している場合はご容赦ください。Raspberry Pi を使用していくつかのセンサーを監視し、いくつかのアクティブなハードウェアを管理する JQuery / websocket / Flask アプリケーションを作成しています。Flask を実装したサーバーによって生成された複数のクラスとオブジェクトは、ハードウェアにアクセスできる必要があります。

私のプログラミングのバックグラウンド (Python は比較的新しい) に基づいて、インスタンス化なしで動作するクラス メソッドを持つ静的クラスに引き寄せられます。

Python でそれを行う方法に関するドキュメントを見つけましたが、それが最善の方法かどうかはわかりません。オブジェクトをインスタンス化してそれを渡すのはより Pythonic ですか、それとも ... ですか?

これが私が現在使用している非静的オブジェクト指向コードです (次の静的バージョンが私のニーズに合うと考えていますが、言語に最も適したものを実行したいと考えています):

0 投票する
1 に答える
129 参照

c++ - C++ 静的オブザーバー クラス

サーバーとクライアントの 2 つのプログラムがあります。

これがネットワーククラスです

ここにGuiクラスがあります

そして、これがプロトコルです

プロトコルは「静的クラス」と見なされます。つまり、インスタンス化すべきではありません。つまり、サーバーから をProtocol::readPacket取得するときpacketに、情報を に送信できるはずGUIです。ただし、常にそうであるとは限らないため、ポイント/参照を渡すことは私が探しているものではありません。

うまく説明されていませんが、アイデアは次のとおりProtocol::readPacketですGUI

Observer-pattern の使用について誰かがアドバイスをくれました。ProtocolサブジェクトとGUIオブザーバーになります。しかし、Protocol をインスタンス化しないと作れませんでした。

Protocol をインスタンス化せずにそれを行う方法はありますか?