問題タブ [composition]
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.
oop - オブジェクト指向デザインに関連する構成とは何ですか?
私は「継承よりも好ましい構成」について多くのことを聞いています(そしてこのサイトで読んでいます)。
しかし、Compositonとは何ですか?人:哺乳類:動物の観点から相続は理解できますが、構成の定義はどこにもわかりません。誰かが私に記入してもらえますか?
java - 継承された Java クラスの性質に関する質問
ですから、かなり基本的な質問があると思います。プロジェクト com.bee.buzz に含める com.cow.moo というオープン ソース Java プログラムがあるとします。
moo にはすばらしいクラスがたくさんありますが、そのほとんどは触りたくありませんが、触るクラスがいくつかあります。この時点で、変更したいクラスを拡張するのが最善の方法ですよね? (拡張と実装については多くのことが言われてきましたが、これらのクラスはどれもインターフェイスではないので、それはちょっと問題外です。)
私の質問は、これが moo のクラスだとします。
ここで、Milk を拡張する新しいクラスで getMilk を使用したいとします。ただし、Milk の getMilk は、プライベート変数 (currentMilk など) と、含めない他の関数 (convertToGallons など) に依存しています。新しい関数を正しく動作させたい場合、これらの他の変数と関数を含める必要がありますか? 関数を大幅に変更したくはありません。少し追加するだけです。これを行う最善の方法は何ですか?
大規模なプロジェクトを構築する際の一般的なヒントも役立ちます。ここにいる Java 専門家の何人かが答えを出すのに 5 秒もかからないと思います。御時間ありがとうございます。
iphone - 2 つのアプリケーションを 1 つのアプリケーションとして統合する方法
やあ、
iPhone初心者です。2 つの個別のアプリケーションを作成しました。私が今やりたいことは、2 つのアプリケーションを 1 つに統合することです。たとえば、2 つのボタンを表示し、最初のボタンをクリックすると最初のアプリケーションに移動し、2 番目のボタンをクリックすると 2 番目のアプリケーションに移動することができます。
これにどのようにアプローチすればよいですか?
前もって感謝します。
objective-c - Objective-C クラスの構成
Obj-C クラス構成の問題のいくつかを明確にしようとしています。車、コントロール、ホイールの 3 つのクラスがあります。
Car クラスは Control クラスと Wheels クラスを初期化します。UISlider
とを含む簡単なテスト iPhone アプリケーションを作成するつもりでしたUILabel
。UISlider の値が変更されたら、Wheels クラス メソッドの 1 つにメッセージを送信する必要があります (私は Control クラスから送信するつもりでした)。
問題は、Control から Wheels に直接メッセージを適切に送信するにはどうすればよいかということです。コントロール メッセージと Wheels の応答は、Car クラス メソッドを介してのみ処理する必要がありますか?
c# - クラス構成でデータをロードする方法は?
ここに私のクラスがあります:
ご覧のとおり、「製品には多くの価格スケールがあり、価格スケールには多くの期間があります」というビジネスルールを厳密に適用しました。
私の問題: たとえば、Product クラスを扱っているとき、「priceScales はロードされていますか?」と自問するのは好きではありません。(製品が必要になるたびにロードするわけではないため)
解決 :
1/ 遅延読み込み : 私はそれが好きではありません.SQL クエリを知らないうちに実行すると、1+n クエリの問題が発生する可能性があります (私は価格計算システムに取り組んでいるので、本当にそうする必要があります)どのSQLクエリが実行されるかを確認してください)
2/ 常にロードする : 私はそれが好きではありません。なぜなら、このロジックをすべてに適用すると、データベース全体をロードすることになるからです。
3/ 構成 (メンバー priceScales) を削除します。その場合、価格スケールを処理する最善の方法は次のとおりです。
キーが製品 ID である Dictionnary<int,List<PriceScales>> を取得しますか?
他の何か?
4/ メソッドの最初に、priceScales が必要な場所に追加します
遅延読み込みのように見えますが、より明示的です。
5/ 私が考えもしなかった他の何か :)
ありがとう
c++ - イテレータを使用した C++ コンポジション
サンプル コードは非常に単純なものにするように努めますが、その場で入力しているため、エラーが発生する可能性があります。
Phoneという名前のクラスがあります。
Feature という名前の構造体があります。
ご覧のとおり、電話には機能のリスト (ベクトル) があります。ブルートゥース、GPS、ラジオなど。ネットワーク、ナビゲーション、マルチメディアのカテゴリがあります。
電話と機能に関する情報が sqlite3 データベースに保存されるようになりました。データベースから特定の電話モデルを取得し、入力された Phone オブジェクトを返すヘルパー関数があります。また、Phone オブジェクトを受け取り、Phone をデータベースに書き込む関数もあります。
問題は、電話の機能のリストを反復処理する何らかの方法をクライアントに提供する必要があることです。まず、データベース ヘルパーは、データベースに機能を書き込むことができるように機能について知る必要があります。次に、クライアントはデータベースから電話を取得し、機能のリストをユーザーに表示する必要がある場合があります。
1 つの解決策は、次の関数をクラス Phone に追加することです。
クライアント コードが直感的に見えないため、これは私にとって理想的なソリューションではありません。実際には機能を反復しているときに、クライアントが電話を反復しているように見えます。
http://accu.org/index.php/journals/1527の記事で別の解決策が説明されています。この記事では、 「メンバースペース」という手法を使用してイテレーターをクライアント コードに公開する方法について説明しています。これにより、クライアント コードがより読みやすくなりますが、私の意見では、実装は少し面倒です。
イテレータの問題に対するより良い解決策はありますか、それとも私が使用できるより適切な設計パターンがあるかもしれません。
どんなフィードバックでも大歓迎です。
analysis - Has-A 関係
public class Elevator () { Button firstFloorbutton = ButtonFactory.getButtonInstance(this, 1); ボタン secondFloorbutton = ButtonFactory.getButtonInstance(this, 2); ボタン thirdFloorbutton = ButtonFactory.getButtonInstance(this, 3); ボタン fourFloorbutton = ButtonFactory.getButtonInstance(this, 4);
Elevator クラスと Button クラスの間にはどのような関係がありますか?
Kathy and Bert (SCJP)の 92 ページによると、 HAS-A 関係は継承ではなく使用に基づいています。つまり、クラス A のコードがクラス B のインスタンスへの参照を持っている場合、クラス A HAS-A B です。
私の例では、Elevator クラス コードには Button のインスタンスへの参照があり、Button には Elevator クラスのインスタンスへの参照があります。
誰でもこれについて明確にしてください。
linq - 再帰的に (?) LINQ 述語を単一の述語に構成する
(編集:私は間違った質問をしました。私が抱えている本当の問題は、LINQ-to-SQL述語を単一の述語に構成することで終わりました-しかし、これはいくつかの良い答えを得たので、私はそれを残しました!)
次の検索テキストがあるとします。
私は次のSQLで終わりたい:
事実上、検索テキストをスペースで分割し、各トークンをトリミングし、各トークンに基づいてマルチパート OR 句を作成し、句を AND 結合します。
私はこれをLinq-to-SQLで行っていますが、サブ述語の任意の長いリストに基づいて述語を動的に作成する方法がわかりません。句の数がわかっている場合、述語を手動で構成するのは簡単です。
しかし、検索語の任意のリストを処理したいと考えています。私はどこまでも
それは StackOverflowException を生成します-おそらく、割り当ての RHS の predicate() が実際には実行時まで評価されず、その時点で自分自身を呼び出すことになるためです...または何か。
要するに、2 つの述語が指定された場合に、指定された演算子を使用して 2 つのソース述語を構成する単一の述語を返す手法が必要ですが、Linq-to-SQL で明示的にサポートされている演算子に限定されます。何か案は?
c# - LINQ-to-SQL 述語を単一の述語に構成する
(以前の質問、Recursively (?) compose LINQ predicates into a single predicateはこれに似ていますが、実際には間違った質問をしました...そこでの解決策は提起された質問を満たしましたが、実際には私が必要としているものではありません。違いますが、正直です。)
次の検索テキストがあるとします。
私は次のSQLで終わりたい:
事実上、検索テキストをスペースで分割し、各トークンをトリミングし、それぞれに基づいてマルチパート OR 句を作成し、句を AND 結合します。
私はこれをLinq-to-SQLで行っていますが、サブ述語の任意の長いリストに基づいて述語を動的に作成する方法がわかりません。句の数がわかっている場合、述語を手動で構成するのは簡単です。
要するに、2 つの述語が与えられた場合に、指定された演算子を使用して 2 つのソース述語を構成する単一の述語を返す手法が必要ですが、Linq-to-SQL で明示的にサポートされている演算子に限定されます。何か案は?
entity-framework-4 - エンティティ フレームワーク 4 の構成の問題: エンティティは現在読み取り専用です
WCF RIA サービスとエンティティ フレームワークの使用 4.
学校、州、地区の 3 つの DTO があります。州の DTO には、組成のある District プロパティがあります。また、School DTO には、コンポジションを持つ State プロパティと、District 関連付けがあります。
アイデアは、学校を作成/更新するときに、ユーザーが州と地区 (既存または新規) を入力できるようにすることです。
新しい州と地区を作成すると、すべて正常に機能します。しかし、既存の州内に新しい地区を作成すると、次のエラーが表示されます。または編集操作はエンティティ タイプに対してサポートされていません」