RAWファイルコンバーター2012-01-10オブジェクト指向の楽しさ(センス、感覚、快感)オブジェクト指向設計、プログラミングを苦しさだけとしか感じられない人も多いかもしれません。オブジェクト指向ディバイド(過去の記事をご参照ください)の大きな要素の一つに、この楽しさの有無があります。オブジェクト指向開発に楽しさを見出せるか否か。見出せた人の勝ちです。今日はオブジェクト指向開発に全く楽しさを感じられない人へのヒントを書いてみたいと思います。クラス設計にはオブジェクト指向の醍醐味があるのです。★1つの楽しさ、それは本棚の整理と似ているもし、あなたの部屋に本棚がなかったら、本は散乱して散らかってしまい、精神衛生上も良くないし、必要な書籍を探し出すのも大変です。持てる本の数も限られたものになりますね。本棚を購入したらジャンルごとに分類するなどしてそれらの本をしまうことができます。すると、見た目もすっきりするし、部屋も広くなるし、必要な書籍の検索もあっという間。仕事の能率も上がります。オブジェクト指向のクラスは、おおざっぱにいうとこの本棚の役目を果たします。クラスを設計することは本棚の整理と似ています。整理整頓することの気持ちよさ、それが快感であり、楽しさでもあります。本棚の整理が理にかなったものであれば、本の取り出しや収納も効率的であるのと同じで、良いクラスを設計できれば扱いやすくなり、結果的に制作するソフトウエアの品質も向上します。★そして、本命はマジックボックスをアピールする楽しさクラス設計の重要なポイントの1つは、それ自体の独立性が高く、場合によっては1つのクラスだけで商品価値があり、設計者の表現を強く盛り込むことができるという点です。それは、構造化設計の単なる関数や関数群とは比べものになりません。クラスにはクラスインタフェースというものがあり、そこに主観と客観の明確な境目があるからです。ファイルを扱うクラスではオープンやクローズの手続きが不要なものがあります。コンストラクタやデストラクタを使って煩雑な手順を省くことが可能なのです。クラスユーザは単純にリードやライトをするだけでよいのです。複雑なことをシンプルに表現できるマジックボックスを作り、クラスユーザにアピールできる楽しさがあります。クラス設計には、そのユーザが仮に自分自身であったとしても、設計時はそのユーザという客観的な存在を常に意識することが可能で、そこに楽しさが伴うのです。それは、相手をびっくりさせる、感心させる、喜ばせるといった人の根本的な欲求が含まれます。構造化設計では、関数というあまり独立性の高くないまとまりしかないので、主観と客観の境目がはっきりせず、常に自分のためだからという甘えにも繋がってしまいがちでした。他にも楽しさはあるはずですが、結局、オブジェクト指向設計をうまくこなすことで完成したソフトウエアの品質(性能、保守性、低コスト)が向上する、ということが究極的な楽しさに繋がることは間違いありません。お問い合わせはHPより。◆ミュージシャンのプロモーションビデオを制作したり、CDジャケットの写真撮影などを行っています。システム開発は請負受注します。◆ミュージックビデオ以外に、マルチカメラによるライブ映像制作を行ったり、即興ミュージシャンのための映像譜等の企画・制作なども行ってきました。システム開発は30年以上の実績の中に様々な種類が含まれています。◆今後は映像制作活動を通じて得られた人の魅力についての理解を元に、これまでの枠にとらわれない本当に役に立つプロモーション映像制作や、最終的には映画制作まで行いたいと考えています。システムは我々独自企画のものを立ち上げ、運営します。