組込み機器の場合、仕向け先によってプログラムの一部を変更して出荷する事があります。固定のデータ領域にパラメータだけを置き換えるような場合は問題ありませんが、きめ細かい仕向け先対応を行う場合は、プログラムそのものを変更する必要が生じます。
SOLIDを使ってプログラム開発をすれば、図3-1のように仕向け先別に異なるアプリを各々個別に開発し、その後共通部分と組合せて実行が可能です。
このとき、各アプリのプログラムサイズが異なる場合、配置が異なる場合でも問題なく本体アプリから各アプリをロードでき、通常のアプリケーションのデバッグと同様に実機を使ったソースコードデバッグができます。
もちろん拠点毎のアップデートに際しても、当該拠点のアプリだけを改訂すればよいのでソフトウエアのバージョンアップや検証範囲が限定でき、システム全体の管理が大変シンプルに効率よく行えます。
図3-1 仕向け先別にアプリを分けて開発する
このようなモジュール分割開発ができないと、図3-2のように仕向け先のアプリを全て込んでビルドしているケースがあるのではないでしょうか。
これでは全体のプログラムサイズが大きくなりビルド・ロード時間が長くなってしまうばかりでなく、本来は独立で管理できるはずの拠点単位のアプリケーション(アプリA、B・・・)の全てのバージョン組み合わせ管理の必要が生じるなど開発効率があまり良いとは言えません。
図3-2 残念なプログラム配置