エンタープライズアプリケーションアーキテクチャのパターンで、MartinFowlerは次のように書いています。
したがって、この本は、エンタープライズアプリケーションをレイヤーに分解する方法と、それらのレイヤーがどのように連携するかについて説明しています。ほとんどの重要なエンタープライズアプリケーションは、何らかの形式の階層化アーキテクチャを使用しますが、状況によっては、パイプやフィルターなどの他のアプローチが役立つ場合があります。私はそのような状況には立ち入りません。代わりに、階層化アーキテクチャが最も広く役立つため、そのコンテキストに焦点を当てます。
非階層化アプリケーション/アプリケーションの一部を構築するためにどのようなパターンが存在しますか?金融機関の統計モデリングエンジンを利用してください。データアクセス用のレイヤーがあるかもしれませんが、ほとんどのコードは単一のレイヤーにあると思います。そのようなレイヤーにGangofFourのパターンが表示されることを期待しますか?ドメインモデルはどうですか?OOを使用しますか、それとも純粋関数型ですか?
引用では、レイヤーの代替モデルとしてパイプとフィルターについて言及しています。データ処理を分解する方法としてパイプを使用するこのようなエンジンは簡単に想像できます。他にどのようなパターンがありますか?タスクのスケジューリング、結果の集約、作業の分散などの分野に共通のパターンはありますか?MapReduceの代替手段は何ですか?