2016-05-05 3 views
2

私はこれをarticleによって"Uncle" Bob Martinで読んでいます。彼は、フレームワークとドライバの見出しの下で言及しています。データベース/ウェブによるものは何ですか詳細は

ウェブは詳細です。データベースは詳細です。

「ディテール」が意味することを理解できません。もう少し説明してください。

+4

この記事では、Webアプリケーション/フレームワークとデータベースエンジンは、アーキテクチャのコア部分ではなく、ソリューションの実装の詳細です。システムのアーキテクチャを再設計することなく、これらの詳細のいずれかを変更できる必要があります。 – dbugger

+1

@ dbuggerは頭の爪に当たった。この記事(https://vimeo.com/43612849)は、その記事のアイデアを詳述しているので、見ておく価値があります。 –

+0

@dbugger私はその点を理解しています。この詳細な言葉は私を混乱させていました。 – mubeen

答えて

1

オブジェクト指向プログラミングでは、アプリケーションを抽象的なドメイン中心のデザインで書くのが最も効果的であることが判明しました。言い換えれば、UIやデータベースなどの特定の入力または出力の形式について何も知らない「ライブラリクラスの束」であることは、どのアプリケーションのコアでも最高です。マーティンの記事では、これらのクラスをどのように構築するかについて主に説明しています。次に、これらのクラスを使用するのは、UIとデータベースに固有のコードです。あなたのアプリの心は、それがウェブアプリかコンソールアプリか、タッチトーンオーディオ電話のアプリかは何も分かりません。

このように、ウェブまたはデータベースは、ドメインロジックの心に影響を与えない(実際にはできない)ため、単なる詳細です。

もちろん、ウェブの詳細は複雑で複雑なものかもしれませんが、理想的には、正しいHTML、Javascript、CSS、コンテンツファイルをレンダリングし、ユーザーからの入力を収集することに関係します。ドメインロジック)がコアシステムに残され、Web固有ではありません。

今日のWeb開発環境では、クライアント側の豊富な機能により、このスキームを把握するのが少し難しくなりました。最終的には、2つの「ドメインシステム」があります。主なサーバー側のドメインコードは、Martin氏が議論しているようですが、クライアント側のドメインは独自の抽象的なドメイン中心アーキテクチャを持つことがありますJavascriptでAngularやAureliaのようなフレームワークとライブラリは、クライアント側で堅牢な抽象的なドメイン中心のアーキテクチャを可能にするためのツールをいくつか追加しようとしています。これらのクライアントサイドのアーキテクチャでは、Bobさんが呼び出したWebサービスは「Bob Details」と呼ばれ、操作するDOMは「ちょっとした詳細」です。ドメイン中心のアーキテクチャの中心は、コントローラとビューモデルが対話するコントローラ、ライブラリ、またはサービス関数にあります。

コメントに記載されているリソースに加えて、DDD(Domain-Driven Design)の概念を参照してください。

関連する問題