「ソフトウェア設計」をC++で学ぶ その01 ガイドライン15
2025-01-11 23:42:44
- Tags:
- C++
前回 、C++を始めてみたが、
学ぶついでに、ソフトウェア設計も復習したいなと思って、
を読んでいる。
現在4章のVisitorパターンのところなんだけど、
かなりわかりやすくて、この本はおすすめ。
何故再コンパイルが必要なぐらい結合度が高い依存がダメなのかなどがしっかり説明されている。
Javaでこの世界に入った身としては、再コンパイルしないといけないぐらい許容範囲だろうと思っていたのだが、甘かったようだ。
で、実際に動かしながらなので、下記にソースを書いている。
ソースの内容自体にはそこまで苦労していないのだけど、
ガイドラインごとにディレクトリ分けして、
かつそれをコンパイルするのに、C++のインクルードとモジュール機構の概念を理解する必要があった。
本当は全部モジュールにしてしまえば良かったのだけど、
なるべく本のソースに則った形にしたかったので、
両立させるように工夫した。
あと、名前空間も設定して、ガイドラインごとに同じ名前のソースがあっても被らないようにした。
まだ、何がC++のプロジェクト構成として一般的なのかは分からないのだが、
自分で良いと思う構成を考えて進めている。
でもあれだね、C++は歴史があって、かつ色々と新しい概念を取り入れているせいで、
調べても古い情報が多く、正解を見つけるのが難しい。