law-of-demeter

    0

    2答えて

    現実世界の法則(私のアプリケーションとも呼ばれます)をよりよく理解しようとしていますが、私はチェーンの辞任時に得られる理由と利点についていくつか混乱しています。責任。 ここでは、使用を検討している例があります。今、私はいくつかの企業データ、元にアクセスする必要がある関係 Enquiry -> assignedTo -> Room Rooms -> assignedTo -> Building Bu

    1

    2答えて

    以下のコードは明らかにDemeterの法則、すなわちgetServer().methodx(...)の方法を制止しています。反対側から見ると、かなりコンパクトに見えますが、より読みやすくなりますか? abstract class BaseManager { ResultSet find(String searchText) { return getServer().find(

    7

    5答えて

    実用的なプログラミングの原則を維持しようとしている私は、「尋ねる、尋ねないでください」という原則に基づいてユーザーパスワードの変更を扱う方法を決定しようとしています。 パスワードが30日ごとに期限切れになるユーザーオブジェクトがあります。私は、パスワードが期限切れの場合、パスワードの期限切れ/パスワードの変更表示を表示する必要があります。パスワードの期限が切れている(状態だと)オブジェクトを要求し

    1

    1答えて

    このゲームのソースコードはオープンソースなので、私はそれを調べることにしました。その中で、私のようなものを見つけました: // This ActionManager is basically a controller like in the MVC pattern. void ActionManager::HandleQueryMessage(csString xml, Client* clie

    1

    1答えて

    私はデータモデルオブジェクトUserを持っています。私のアプリには、例えば、ForkとOptionsという他のデータモデルオブジェクトもあります。ユーザーには分岐と分岐があります。私のアプリは、ユーザー/フォーク/オプションなどの情報の組み合わせで多くのクエリを実行する必要があります。たとえば、User's Forksのページを表示できます。これには、フォーク上のそのユーザー(たとえばセッションに

    1

    1答えて

    Law of Demeter(LOD)を呼び出すと、長時間の呼び出しができなくなります。クラス内で直接作成されたオブジェクト、またはメソッド内で作成されたオブジェクト、メソッド内でパラメータとして渡されたオブジェクトのみでメソッドを呼び出すと言います。 B b;がクラスAフィールドであるとBが、その後、A.java内b.c.performOperation();を呼び出すためのよくない習慣をタイプ

    0

    1答えて

    依存性注入法、デメタ法とグローバル状態(シングルトンはグローバルとみなされます)について2つの素晴らしいビデオ(thisとthis)を見ました。 私は基本的な考え方があると思いますが、私のライブラリにはすでにシングルトンクラスがいくつかあります。しかし、私がテスト可能で「うまく設計された」コードや「あまり結合されていない」コードが必要な場合は、DIとLoDを使用する必要があります。これはもちろん、

    4

    1答えて

    デメテルの法律に従いたいと思います。しかし、私はまた、コンストラクタに渡されたいくつかのオブジェクトを遅延ロードしたいと思います。私はそれをどのように実装すべきですか?ラッパークラスを渡しますか?関数ポインタを渡しますか?あなたが実際にこれを実現する汎用ラッパー書くことができます

    8

    1答えて

    デメータの法則は、オブジェクトAからオブジェクトBからメソッドMを呼び出すことができないと言います。 しかし、これもプロパティに適用されますか?例? public class B{ public bool IsValid(); } public class A{ public B B{get;set;} } 私はそんなことができますか? var isValid =

    5

    2答えて

    私は検索して問題に適したソリューションを見つけることができませんでした。私は販売時点管理システムの一部を再設計しています。 Let'sは、我々は次のクラスがあるとします。 TWorkShift = class Date: TDateTime; fTotalSold: Currency; fSales: TList<TSale>; public proper