先日、友人のIT技術者と飲んだとき、このブログの内容に関して、鋭い指摘を受けました。それは、環境設定機能のライブラリも、モデルクラスに含まれるのではないかとの指摘です。
言われてみて気付きましたが、確かにそのとおりです。環境設定機能を実現したライブラリは、環境設定機能を汎用化したクラスですが、環境設定機能というモデルでもあります。
ソートや検索といった機能は、必要が無いので持っていません。しかし、定義されたデータ型で値を保持し、アプリとのやりとりを実現しています。また、設定内容をファイルへ保存したり、保存したファイルから環境設定を読み込んだりもできます。まさに、環境設定機能に特化したモデルクラスと言えるでしょう。
環境設定機能ライブラリを作ったときは、どのアプリでも簡単に使える環境設定機能を作ろうと考えただけでした。その時点では、モデルクラスまでライブラリ化しようとは考えていません。また、モデルクラスを作り始めたときは、過去に作ったライブラリのどれかが、モデルクラスに該当するなどとは思ってもいませんでした。そのため、友人に指摘されるまで、モデルクラスに該当するとは気付きませんでした。
モデルクラスのライブラリへ環境設定機能が加わったことで、ライブラリは合計3つになりました。また、今回の指摘によって、ライブラリ化するモデルクラスを探す意味で、視野が広がったと思います。どのアプリでも使いそうな機能を洗い出し、それをモデルクラスとしてライブラリ化できそうに感じています。友人の指摘に、大感謝です。
環境設定機能ライブラリですが、作ったときのまま改良していません。その後に作った、別なライブラリも増えました。それらを使って、改良できるはずです。
改良点として真っ先に浮かんだのは、ファイルの読み書きを間接参照にするライブラリの利用です。環境設定機能ライブラリでも、ファイルの読み書きを間接参照にして、特定の保存先に依存しない形に改良できます。修正は簡単なので、余裕ができたら実施する予定です。
今回の指摘は、一緒に飲んでるときの普通の話として出てきました。でも、このように鋭い指摘をくれる仲間は、本当にありがたいです。お互いに刺激し合いながら、今後も良い関係を続けたいと思います。
0 件のコメント:
コメントを投稿