問題タブ [class-structure]

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

file - Flutter 開発者は 1 つのファイルにいくつのステートレス ウィジェット クラスを配置する必要がありますか?

私は現在、フラッターアプリケーションに取り組んでいます。大きなウィジェットツリーを持つファイルがあります。理解しやすく、読みやすく、保守しやすいように、ウィジェット ツリーを「切り取る」必要がありました。

最初にやったのは、_createFancyImage()やなどのツリーのより大きな部分を表す複数の関数を作成することでした_createFancyContainer。いくつかの調査の後、そのような設計にはいくつかの欠点があることがわかりました ( https://github.com/flutter/flutter/issues/19269を参照)。そこで、StatelessWidget代わりに s を作成することにしました。ウィジェット ツリーのサイズが大きいため、3 つStatelessWidgetの論理に分割しました。FancyImage()これで、 or FancyContainer()which をそれぞれスタンドアロン ウィジェットとして使用できるようになりました。

StatelessWidget初心者として、これらのクラスを同じファイル内に保持する必要があるかどうかはわかりません。または、独立したファイルを作成することもできます。明確にしておくべきことは、私はこれらの派手なウィジェットを他の場所で使用していないということです。これらは、この 1 つの大きなウィジェット ツリーに固有のものです。

残念ながら、Dart と Flutter Repo のスタイル ガイド内やインターネット上で何かを見つけることができませんでした。

すべての提案に感謝します。

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

vb.net - WinForms アプリケーションでクラスとイベントを適切に構造化する方法

私は VB.NET を使用して最初の実際の WinForms アプリケーションに取り組んでおり、プロジェクトは当初の予想よりも少し大きくなっています。私は WinForms でこれを行うことに慣れていないので、見つけた解決策が正しい方法であるかどうかはわかりません。

多くの Control 要素、特に TextBoxes があるため、さまざまなイベントを処理するためのコードを別のクラスに移動する必要があります。私が見た限りでは、作業しているプログラムの種類に応じて、これを行う方法はさまざまです。最も理解しやすいのは、追加のクラスを作成し、WithEvents を使用して必要なすべての Control オブジェクトを宣言することです。たとえば、私のメインクラスでは次のようになります。

代わりに、そのすべてのコードを新しいクラスに移動したい場合は、次のようになります。

つまり、メインクラスで今しなければならないことは次のとおりです。

他のすべての Control 要素についてもこれを行います。そうすれば、メイン クラスをよりクリーンに保つことができますが、イベント リスナー コードでいっぱいの巨大なクラスになってしまいます。これで少しは楽になると思うのですが、やはり下品な感じがします。私の次のアイデアは、これをさらに分割して、TextBox イベント用に 1 つのイベント クラスを作成し、Button イベント用に別のイベント クラスを作成することです。私は何かが完全に欠けています。

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

swift - Swift: C++ の友人と同等ですか?

次のような構造があります。

FooBarアクセスする必要がありますがBazBazモジュールとそれをインポートする他のモジュールの両方に対して非公開のままにする必要があります。

質問:

  1. と に共有Bazする方法はFooありBarますか?」
  2. 必要なアクセスを許可するために使用できる他のクラス構造はありますか?