問題タブ [concrete]

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

uml - UML では、抽象メソッドの具体的な実装を示す必要がありますか?

具象クラスが純粋仮想メソッドを定義する抽象クラスから継承する UML を描いています。このメソッドを具体的なクラスにも表示する必要がありますか? これは、抽象クラスから継承することによって暗示されます。

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

c# - インターフェイスインスタンスの背後にある具象型を見つける

簡単に言うと、Objectインスタンスとして渡される特定のタイプでタスクを実行するC#関数があります。クラスインスタンスが渡されると、すべて正常に機能します。ただし、オブジェクトがインターフェイスとして宣言されている場合は、具体的なクラスを見つけて、そのクラスタイプに対してアクションを実行したいと思います。

これは至る所にある悪い例です(間違ったプロパティケーシングなどで見事です):

PerformActionのコードで、そのパラメーターに対してReflectionを使用し、それがIAのインスタンスであるだけでなく、Bのインスタンスであることを確認し、GetProperties()を介してプロパティ「b」を確認したいと思います。.GetType()を使用すると、IAのタイプを取得します-必要なものではありません。

PerformActionは、IAのインスタンスの基になる具象タイプをどのように判別できますか?

抽象クラスの使用を提案したくなる人もいるかもしれませんが、それは私の悪い例の限界にすぎません。変数は元々、インターフェースインスタンスとして宣言されます。

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

python - SQLAlchemy宣言型の具象自動ロードされたテーブルの継承

既存のデータベースがあり、SQLAlchemyを使用してアクセスしたいと考えています。データベース構造は別のコード(実際にはDjango ORM)によって管理されており、すべてのテーブル構造を説明するために繰り返したくないので、autoloadイントロスペクションを使用しています。私は単純な具象テーブルの継承で立ち往生しています。

docstringとしてテーブルSQLの説明を含むコードは次のとおりです。

実際のテーブルには追加の列がありますが、これは質問とはまったく関係がないため、コードを最小限に抑えるために、すべてをコアまで単純化しました。

問題は、これを実行すると、次のようになります。

結果のSQLは無意味です(結合条件がないことに注意してください)。

また、アクセスしようとするpayment.dateと、次のエラーが発生します。Concrete Mapper|FooPayment|payments_foo does not implement attribute u'date' at the instance level.

id = Column('payment_ptr_id', Integer, ForeignKey('payments_payment.id'), primary_key=True)暗黙の外部キー参照をに追加しようとしましたがFooPayment、成功しませんでした。うまくprint session.query(Payment).first().user機能するように(Userクラスを省略してコメントを付けました)、FKイントロスペクションが機能します。

結果のインスタンスに対して簡単なクエリを実行し、の値FooPaymentにアクセスするにはどうすればよいですか?Payment

SQLAlchemy 0.5.3、PostgreSQL 8.3、psycopg2、Python2.5.2を使用しています。提案をありがとう。

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

c# - C#Moqを使用した具象クラスのインターフェースメンバーのモッキング

次のようなインターフェイス ITransaction があります。

そして、次のような派生クラス PaymentTransaction があります。

PaymentTransaction オブジェクトの 3 つのプロパティすべてをモックしたかったのです。

私は次のことを試しましたが、うまくいきません:

でも注射したら

(mockedTxn.Object は PaymentTransaction として)

私がテストしているメソッドでは (ITransaction ではなく PaymentTransaction のみを使用するため、変更することもできません)、デバッガーは開始時間と終了時間に対して null 参照を示します。

誰かが私を助けてくれるかどうか疑問に思っていました。

ありがとうございます。

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

structuremap - 構造マップは、オブジェクトタイプごとに異なるコンクリートタイプを使用します

レジストリにデフォルトの具象型が定義されています。

ChaceXRepositoryには次のコンストラクターがあります。

パブリッククラスCacheXRepository:IXRepository {

コンストラクターでは、それ自体と同じインターフェイスタイプを持つオブジェクトを受け取りますが、別の具象タイプを渡したいと思います。

タイプがCacheXRepositoryの場合、パラメーターIXRepositoryの具体的なタイプをXRepositoryにし、それ以外の場合はIXRepositoryをCacheXRepositoryに解決する必要があることをレジストリで定義するにはどうすればよいですか。

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

c# - C#:実行時に具象型が決定されるオブジェクトを返すメソッド?

インターフェイスを実装するオブジェクトを返すメソッドを設計することを考えていますが、その具体的なタイプは実行時までわかりません。たとえば、次のように仮定します。

実行時まで、どの車を取り戻すかはわかりません。

a)その人がどんな車を持っているのか知りたい。

b)返される具体的な車のタイプに応じて、さまざまなメソッドを呼び出します(一部のメソッドはクラスでのみ意味があるため)。したがって、クライアントコードは次のようになります。

これは良いデザインですか?コードの臭いはありますか?これを行うためのより良い方法はありますか?

インターフェイスを返すメソッドは問題ありません。クライアントコードがインターフェイスメソッドを呼び出している場合は、明らかにこれで問題ありません。しかし、私の懸念は、具象型へのクライアントコードのキャストが優れた設計であるかどうかです。

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

c++ - dynamic_cast<>() に新しいトリックを教えることはできますか?

クラスへのポインタを指定して、実装をラップしている別のクラスにキャストする方法を dynamic_cast<>() に指示できるように、C++でクラスを構築する方法はありますか? オペレーターキャストはトリックを行いますか? Abstract インターフェース基本クラスがあり、concreteB だけでなく、これから concreteA を派生させますが、concreteB は、concreteA 型のオブジェクトへのインターフェースをラップします。もし私がconcreteAからconcreteAにキャストするリクエストを受け取ったら、私はそれを動作させたいと思います:

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

linq - ジェネリック基底クラスと拡張メソッドの具体的な実装

この投稿の最終目標は、汎用基本クラスの具体的な実装の ToString() メソッドをオーバーライドしながら、Linq フラット化手法を使用して実装を検索できるようにすることです。ですから、これを読んでより良い方法を見つけたら、私に知らせてください。私は Silverlight 用の Telerik コントロールを使用していますが、コントロール プロパティの一部をデータ バインドできるように API を変更せず、バインド先のオブジェクトの ToString() メソッドに依存しています。はい、ばか.. とにかく、ここに私が持っているものがあります。

マイページの RadTreeView コントロール。ツリービュー内の各ノードの FullPath プロパティは、バインド先の各項目の ToString() メソッドを使用します (これをオーバーライドする必要があります)。

基本モデル クラスを強化するために「中間」クラスを作成して、ツリー ビューで階層としてバインドし、そのジェネリック クラスの具体的な実装で ToString() をオーバーライドできるようにする必要がありました。問題は、具体的な実装を基本ジェネリック クラスに戻すことができないため、Linq 拡張機能が爆発することです。私はジェネリックが大好きですが、これは私には多すぎます。拡張メソッドの問題を解決するための助けが必要です。

中間ジェネリック クラス:

基本モデル クラス: (データは、このクラスを使用して WCF Ria サービスとの間でやり取りされます)

ToString() をオーバーライドできるようにするための具体的な実装:

最後に、ジェネリック基本クラスの具体的な実装を導入したため、コンパイル時に爆発する Linq 拡張メソッドを次に示します。

壊れている実際のコード: (x.Children がエラーで強調表示されます)

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

php - PHP: インターフェイス内の抽象メソッド

インターフェイス内で抽象メソッドを宣言できないのはなぜですか? これは私のコードです。ありがとうございました。

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

content-management-system - 私のドメインをconcrete5フォルダーに向ける

私はドメイン名を持っており、concrete5 を public_html フォルダーにインストールしました。public_html/concrete5.4.1 フォルダです。トラフィックをconcrete5フォルダーにリダイレクトするにはどうすればよいですか? これは、ユーザーが www.domainname.com と入力すると、public_html/concrete5.4.1 フォルダーから index.php ページが表示されるはずです。

どうもありがとうございました。