問題タブ [class-design]

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 に答える
1377 参照

objective-c - 特別なクラスで HTTP 接続を設定するには?

他のクラスのすべての HTTP 接続作業を処理するクラスを作成したい (コードを繰り返し書くのを避けるため)。これを ConnectionCenter (NSObject のサブクラス) と呼び、次のコードを追加します。

また、他のクラスは URL と ConnectionCenter のオブジェクトを渡すことで呼び出します。ただし、ConnectionCenter のメソッド「didReceiveData」は呼び出されません。何が問題なのかについてのアイデアはありますか?

0 投票する
3 に答える
972 参照

c# - クラスデザインC#名前空間の分離

私はまだ関数の分離と、それがクラスの作成と名前空間の包含にどのように適用されるかを調べようとしています。私はカスタムクラスSoftwareComponentを持っています。これは、ユーザーに提示されると、ほとんどの場合ListItemとして表示されます。ToListItemメソッドを作成するのは良い考えですか?System.Web.UI.WebControls名前空間を含める必要があるクラスに依存関係を配置したため、心配しています。

私の他の傾向は、クラス自体の外部のプロパティに基づいてSoftwareComponentからListItemを作成することです。どのアプローチがより適切/より良いかについての考えを提供してください。

0 投票する
4 に答える
2226 参照

c# - クラスの設計 - プロパティまたはパラメーター?

私はクラスを設計しています...

オブジェクトを渡す必要があるか、オブジェクトを「取得」できる必要がある重要なメソッドがあります。

したがって、問題は、メソッドが正しく機能するために、ゲッター/セッターを使用するか、オブジェクトを引数としてメソッドに直接送信する必要があるかどうかです。それとも、クラスが正しく動作するためにオブジェクトが本当に重要である場合、コンストラクターを介してオブジェクトを設定する必要がありますか?

0 投票する
3 に答える
620 参照

objective-c - 静的クラスを設計する方法は?

strName、strNo、intPassword ...などの多くの値を保持するための特別なクラスを作成して、他のいくつかのクラスがこのクラスの同じ値を変更できるようにします。ドット構文を使用して、次のようなプロパティを呼び出したい

一部の値はまだ使用されているため、値を読み書きする前に毎回クラスを初期化する必要はありません。

クラスを「Values」と呼び、次のコードを使用して設計します。

「Values.h」を別のクラスにインポートし、を使用してプロパティを呼び出します

データが上書きされないように、「値」のオブジェクトを作成しません。'前の構文エラーというエラーがポップアップ表示されます。トークン'。グローバル変数を格納するクラスを作成する他の方法はありますが、これらのデータを使用するときに初期化する必要はありませんか?

0 投票する
3 に答える
122 参照

.net - ドメインクラスの名前にエンティティを配置することは良い習慣ですか?

現在、各エンティティの最後にエンティティを配置することが良い方法であるかどうかについて議論しています。

それ以外の

私のキャリアでは両方を見てきましたが、最近はどのようにしていますか?

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

c# - コンストラクターのビジネス ロジック - C#/Linq から Sql

Linq to SQL データベース モデルで生成された部分的な Cart クラスを拡張しています (ここで正しい言葉かどうかはわかりません)。

ビジネス ロジックは、顧客ごとに 1 つのカートしか存在できないということです。顧客がカートを持っていない場合は、カートを作成する必要があります。顧客がカートを持っている場合は、カートを返却する必要があります。

これが私がやっていることです:

コンストラクターからメソッドを呼び出すのは正しくないようです。ビジネス ロジックを正しい方法で実施しているか?

0 投票する
4 に答える
6870 参照

iphone - HTTP 接続の「didReceiveData」メソッドに関するディスカッション

HTTP 接続用の独立したクラスを作成しました。すべての接続は正常に機能します。問題は、メソッド「didReceiveData」が接続を呼び出すメソッドの後に呼び出されることです。(メソッド 'didReceiveData' は IBAction 'accept' の後に呼び出されます)

これにより、ラベルのテキストを受信した文字列に変更したい場合、コードを IBAction 'accept' に記述できず、メソッド 'didReceiveData' に次のように記述しなければならないという問題が発生します。

さらに問題は、「didReceiveData」で MainView を初期化すると、MainView のデータが上書きされることです。MainView を初期化せずに labelStr のテキストを変更することはできますか?

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

language-agnostic - クラスで許可する最大メソッドの制限 N はいくつですか?

The Object Oriented Concepts Survey (一部の学術研究者にソフトウェア設計に関する実際のデータを提供するため) に記入しているときに、次の質問に出くわしました。

クラスで許可する最大メソッドの制限 N はいくつですか?

この制限 N に達したら、クラスをリファクタリングするかどうかを調査し続けます。

正直なところ、アプリケーションを設計する際にそのような制限について考えたことはなく、その背後にある理由が何であるか疑問に思っています。おそらくクラスの機能に大きく依存している任意の数を自分自身に課したいのはなぜですか?

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

java - 拡張機能の設計方法

CheckstyleルールDesignForExtensionがあります。それは言います:あなたがabstractでもfinalでも空でもないpublic/protectedメソッドを持っているなら、それは「拡張のために設計された」ものではありません。根拠については、Checkstyle ページのこのルールの説明をお読みください。

この場合を想像してみてください。いくつかのフィールドを定義する抽象クラスと、それらのフィールドの検証メソッドがあります。

Plant のサブクラスもあります。

Checkstyle ルールに従って、 Plant.validate() メソッドは拡張用に設計されていません。しかし、この場合、どのように拡張を設計すればよいのでしょうか?

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

python - Pythonでクラスの静的属性を見つける

__slots__これは珍しい質問ですが、クラスに追加した属性に基づいて、クラスの属性を動的に生成したいと思います。

たとえば、クラスがある場合:

引数を手動で指定するのではなく、動的にこれを実行したいのですが、どうすればよいですか?