問題タブ [monostate]

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 投票する
1 に答える
281 参照

c# - これは適切な MonoState 設計ですか?

私はPersonクラスを持っており、この投稿で受け取ったいくつかの助けに基づいています。

MonoState、Singleton、または派生フォーム: CRUD アプリの最良のアプローチ?

その周りにCurrentPersonクラスがあり(??)、それを介してデータにアクセスします。

これがどのように機能するかを理解していると思いますが、正しくないようです

質問:

  1. まずPerson、すべてのメンバー変数をprivateにするべきではありませんか?

  2. Personで宣言されている場合CurrentPerson、 が静的なのはなぜですか? そうですか?

  3. Person実際にはAddressEnrollment、およびの子オブジェクトがありCaseNoteます。それらをどのように組み込むのですか?周りのCurrentEnrollmentラッパーEnrollment

私は応用科学としての OOP にかなり慣れていないので、これらの概念のいくつかは視覚化するのが難しいです。

コードが長いです、すみません。



PS ダニエル・ブリュックナーがたまたまこれを読んだ場合、私はあなたの答えを推測しているわけではないので、気分を害しないでください。アプリでのモノステートの使用を正しく理解するために、いくつかの項目についてより深く説明する必要があります。

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

python - モノステートでのPython非推奨の警告__new__-誰かが理由を説明できますか?

Python2.6の基本的なモノステートがあります。

これにより、次の非推奨の警告が表示されます。

少しグーグルした後、これはバグ#1683368に添付されていることがわかりました。私が理解できないのは、これが何を意味するのかということです。次の行について不平を言っています

これは問題ないようです。誰かがこれが問題である理由を素人の言葉で説明できますか?「これはリストのような他のビルトインと矛盾している」ことは理解していますが、その理由がわかりません。誰かがこれが私にそれをする正しい方法を示していると説明しますか?

ありがとう

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

ruby - Ruby のシングルトン パターンとモノステート パターン

クラスが外部ライブラリをロードする必要があるとします。このライブラリはロードに時間がかかるため、一度だけロードする必要があります。これに対する 2 つの自然な解決策は、シングルトン パターンまたはモノステート パターンを使用することです。Ruby のこの特定のコンテキストで、これらのソリューションのいずれかに利点はありますか?

例えば:

対:

2 番目の構文はより簡潔なので、Ruby でシングルトンを使用する利点はありますか?

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

polymer - ポリマー モノステート パターン要素がアップグレードされていません

Polymer 0.5.2 を使用した Firefox 35 のモノステート パターンに問題があります。私の要素は次のようになります。

Chrome ではready、ストア オブジェクトのさまざまな属性を確認できますが、Firefox では属性が定義されていません (アプリの読み込みが完了した後でも)。

理由はありますか?

私が試したこと:

  • tracer-storeが の前にインポートされていることを確認してくださいtracer-globals
0 投票する
1 に答える
23 参照

actionscript-3 - AS3 Accessing Monostate インスタンスの子が null です

どこにでもアクセスできる Main のインスタンスがあります。レベルの変数にアクセスしたい場合は、次のことができるはずです。

_root.level.my_value

ただし、マップで _root.level を呼び出すと、.level が null と表示されます。

Main.as (クラス ドキュメント)

Level.as

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

c++ - C++ コンパイラが既定のクラス メンバーを作成しないようにするにはどうすればよいですか?

マイクロコントローラーの周辺機器 (adc、ポート、usart など) にアクセスして制御するクラスをいくつか設計しています。デバイスには各ペリフェラルのインスタンスがいくつか (場合によっては 1 つだけ) しかないため、各ペリフェラルをモノステート クラスとして表すことにしました。私のクラスの定義と使用法は次のようになります。

usart.h

main1.cpp

しかし、上記の usart クラスの定義方法は、ユーザーが次のようなことを行うことを禁止していません。

main2.cpp

C++11 以降、deleteキーワードを使用して、コンパイラがデフォルトのコンストラクタと関数を作成しないようにすることができますが、コンパイラが作成するデフォルトが何であるかは正確にはわかりません。コピー コンストラクター、コピー割り当て、ムーブ セマンティクス オーバーロードなどがあります。自分のクラス (およびどの関数とコンストラクター) にいくつのdeleteを配置する必要がありますか?

更新: クラスの代わりに名前空間を使用できる (そして使用する必要がある) ことはわかっていますが、後でそれらのクラス (または名前空間) をテンプレート引数として渡す必要があるのではないかと心配しています。私の知る限り、名前空間をテンプレート引数として使用することはできません。そのため、名前空間の代わりに静的メンバーを持つクラスを使用することを選択しました。