.NETベースクラスライブラリに完全なビルダーパターンの例がありますか?私は実際のディレクターと複数のコンクリートビルダーを持っているものを探しています。.NET BCLにBuilderパターンの例がありますか?
4
A
答えて
10
私はこの分野の専門家から遠く離れたんだけど、それはOKだ場合、私は...DbCommandBuilderこととその継承クラス(OdbcCommandBuilder、OleDbCommandBuilderは、SqlCommandBuilder)は一例かもしれないと思うことも抽象ビルダーベースクラス監督を務める。その後、(リフレクターあたり)これらのようなメソッドを呼び出して、その基底クラスへの様々な具象クラスのデリゲート:
- 抽象ビルダークラス :
private DbCommand BuildDeleteCommand(DataTableMapping mappings, DataRow dataRow)
{
DbCommand command = this.InitializeCommand(this.DeleteCommand);
StringBuilder builder = new StringBuilder();
int parameterCount = 0;
builder.Append("DELETE FROM ");
builder.Append(this.QuotedBaseTableName);
parameterCount = this.BuildWhereClause(
mappings, dataRow, builder, command, parameterCount, false);
command.CommandText = builder.ToString();
RemoveExtraParameters(command, parameterCount);
this.DeleteCommand = command;
return command;
}
これはビルダーであることを要件の一部を満たし
BuildDeleteCommand
、BuildInsertCommand
、BuildUpdateCommand
)DbCommand
、具体的なクラスで特定のコマンド型にキャスト)、しかし、監督を務める別のクラスはありません。実際にはDbCommandBuilder
の基本クラスがディレクターです。
2
複数のコンクリートビルダー?私が知っているわけではありませんが、それはかなり些細なことであるWebRequest.Create
を数えるのでなければわかりません。
ProcessStartInfo
およびStringBuilder
はどちらも単純な "ビルダー"の例として妥当です。
関連する問題
- 1. .NET 3.0から4.0のBCLデルタの簡潔なリストはありますか?
- 2. .NET例外:各例外タイプには独自のメッセージテキストがありますか?
- 3. Regexパターンに問題があります
- 4. .NETにはDelphiのEAbortと同様の例外がありますか?
- 5. .NETクラスライブラリにIAudioEndpointVolumeがありますか?
- 6. BCLにCRCクラスがないのはなぜですか?
- 7. C#の "decimal"のようなBorland C++ Builderに "タイプ"がありますか?
- 8. C++ Builderに「Find definition」がありますか?
- 9. DelphiFeeds.comの.NETバージョンがありますか?
- 10. Object InitializersよりもTest Data Builderパターンのメリットは何ですか?
- 11. Builderのパターンと永続性
- 12. データのパターンはありますか?
- 13. このような状況の例外処理パターンはありますか?
- 14. Nokogiri XML Builderエラー - > "ドキュメントにルートノードが既にあります"
- 15. .NET/BCLソースの "string.Empty"の上にある紛らわしいコメントの意味ですか?
- 16. MVVMのパターンに関する質問があります
- 17. フォーム提出パターンはありますか?
- 18. .NET Query Builderコンポーネント
- 19. デザインに(反)パターンがありますか?どのようにパターンを認識するのですか?
- 20. Xcode 4 - Interface Builderに "reveal in canvas"のようなものがありますか?
- 21. Interface Builder経由のiOSナビゲーションバーに複数のボタンがありますか?
- 22. Builderパターンを使用してマルチレベルツリーを構築する明確な方法はありますか?
- 23. ColdFusion Builderに書式文書機能はありますか?
- 24. .NET 1.1のaspxページでBCLクラスまたはプロパティインラインにアクセスするにはどうすればよいですか?
- 25. VB .NETにはRailsのパーシャルのアナログがありますか?
- 26. parse.com「リツイート」パターンがあまりにも冗長である
- 27. .NETにPath.PathSeparatorに相当するURIがありますか?
- 28. Interface BuilderがxCode 4.0にありません
- 29. JSFでBuilderパターンを使用しますか?
- 30. Controllerパターンの.Net
WebRequest.Createはビルダーではなく、ファクトリメソッドです。 FTP URLを渡してHTTPWebRequestを返すことはできません。 –
私は実際に、「共通ビルダー」パターンの例として、私の注釈でマークされた他の2つのクラスを持っています。このバージョンでは、SOAPとBinary Formatterを使用しようとしましたが、彼らはディレクターのコンポーネントがないようです。 –