.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. 春 - Builderのパターン
- 4. NodaTimeの.NETコア実装のBCL DateTimeZoneProviderはどこですか?
- 5. c#Builderパターン
- 6. Textbox builder listbuilder UIパターンに似たUIパターン
- 7. EclipseにはJavaBeansコンポーネント用のBean Builder UIがありますか?
- 8. .NETクラスライブラリにIAudioEndpointVolumeがありますか?
- 9. .NETにはDelphiのEAbortと同様の例外がありますか?
- 10. BCLにCRCクラスがないのはなぜですか?
- 11. C#の "decimal"のようなBorland C++ Builderに "タイプ"がありますか?
- 12. Regexパターンに問題があります
- 13. C++ Builderに「Find definition」がありますか?
- 14. Object InitializersよりもTest Data Builderパターンのメリットは何ですか?
- 15. DelphiFeeds.comの.NETバージョンがありますか?
- 16. Builderのパターンと永続性
- 17. .NET/BCLソースの "string.Empty"の上にある紛らわしいコメントの意味ですか?
- 18. .NET Query Builderコンポーネント
- 19. kibanaにパターンがありません
- 20. Django1.11 - URLconfにパターンがありません
- 21. データのパターンはありますか?
- 22. 疎結合オブジェクトのJavaScriptにはパターンがありますか?
- 23. このような状況の例外処理パターンはありますか?
- 24. ASP.NETコアに例外の例外番号がありません
- 25. Nokogiri XML Builderエラー - > "ドキュメントにルートノードが既にあります"
- 26. .NET 1.1のaspxページでBCLクラスまたはプロパティインラインにアクセスするにはどうすればよいですか?
- 27. フォーム提出パターンはありますか?
- 28. MVVMのパターンに関する質問があります
- 29. Xcode 4 - Interface Builderに "reveal in canvas"のようなものがありますか?
- 30. Interface Builder経由のiOSナビゲーションバーに複数のボタンがありますか?
WebRequest.Createはビルダーではなく、ファクトリメソッドです。 FTP URLを渡してHTTPWebRequestを返すことはできません。 –
私は実際に、「共通ビルダー」パターンの例として、私の注釈でマークされた他の2つのクラスを持っています。このバージョンでは、SOAPとBinary Formatterを使用しようとしましたが、彼らはディレクターのコンポーネントがないようです。 –