phpmentors-jp/mpdosaka

第8章 1つのドメインに混在するマルチパラダイム

iteman opened this issue · 2 comments

この章では、新しい記法と技法を導入して、複数のパラダイムを組み合わせて1個のドメインを表現することを試みる。この記法と技法は、設計からC++実装を導くためにも役立つものである。テキストエディタを例にとって議論していくことにしよう。
新装版 マルチパラダイムデザイン p.219

設計とは

8.2 共通性分析:共通性の設計次元軸とはなにか (p.220)

設計とは、アプリケーションドメインの構造に対して、ソリューションドメインの構造を適合させるプロセスである。言い換えれば、問題における共通性と可変性に対して、それを解決できるソリューションの共通性と可変性を取り揃えなくてはいけない。

変換分析テーブルからコードへの変換

8.3 1組の共通性セットにおける可変性の複数次元軸 8.3.2 共通性と可変性をC++で表現する (p.227)

変換分析テーブルとコードを軽く眺めただけで、2つは同じ設計対象に対する別表現であると、C++の熟練設計者を十分に納得させられることが重要である。しかしながら、変換分析テーブルからコードへの機械的な転換方法というものは存在しない。コード化が単純な変換であることも多いのだが、優れた設計者であれば、デザインパターンやイディオムを使って変換するのが好ましい場合を判断することができるし、そのようにしてコード化することが多い。デザインパターンやイディオムは、テーブルなどを使って機械的なやり方を提示するのが難しい。テーブルからコードへの機械的な転換を実施しないという意味で、マルチパラダイムデザインには、設計者のクリエイティブな洞察を盛り込む余地が残されている。