ソフトウェア開発メモ

日々のソフトウェア設計、実装で考えている、気づいた事を書いています。それが真実か否かは保証しません。悪しからず。

iOS、リバースモデリングの勧め。

 良いソフトウェアを作るには既存の出来のいいソフトウェアを調査/研究する事が必要。特にまわりにできる人がいない限りどこからかよい見本を見つけなければならない。

その点、iOSの各種フレームワークは見本の宝庫。デザインパターンの元ネタとして有名なUI Kit/Foundationは元より、Core Data, Game Kit, Media Player, ALAssetLibrary, Map Kit, Event Kit, Health Kit, Home Kit等等、音楽、映像、情報管理、健康、家電といった様々な分野のフレームワークドメインモデルを学ぶ事ができる。

 それぞれのフレームワークの多くは20個、多くて30個ぐらいのクラスで構成されており、自主学習にはちょうどいい大きさだと思う。APIで使われている用語や慣用句も比較的統一されており、ドメイン言語の構築能力を磨けたりする。

 さすがにソースコードの中身は見れないけど、クラス図やオブジェクト図、責務分担の様子をコミュニケーション図を使って調べたり、使われている用語を調査したりすると色々発見が有ると思う。

こうして得られたスキル、知識は、初期バージョンを早く開発し、中長期的なメンテナンスが必要なスマホアプリの開発にも有用だろうと思う。