オブジェクト指向プログラミングの利点

オブジェクト指向プログラミングは難しいと思っている人も多いですが、使うだけならすごく簡単です。

実際、C♯でソフトを作れば誰でもオブジェクト指向プログラミングを使います。
しかしたいていの人はWebに上がった情報を読みながら苦もなくソフトを書きます。

ではどこが難しいかというと、インターフェイスを記述することでしょう。
インターフェイスの質が悪いと、コード共通化率が低い、可読性も品質も悪いプログラムになってしまいます。

しかし逆に言えばここが一番面白いところだとも言えます。

オブジェクトとは意味です。
オブジェクト指向では意味の間の有機的な結合を記述していくことでソフトを動かします。
どのオブジェクトにどんな意味を持たせるのか、全てはプログラマーの自由です。
その設計図がインターフェイスという形で記述され、世界を形造っていく。
シムシティというゲームがありますが、あれと同じような感覚です。
まっさらな空間に街を作り上げる。これがオブジェクト指向プログラミングです。

しかも、シムシティのようにただゲームの世界の中で街を作るのではありません。
自分で息を吹き込んだオブジェクトは、ソフトウェア上で活き活きと動きだし、
現実世界の物を動かしたり、アプリケーションを動かしたりします。

自分はコードを書く場合、ほとんどオブジェクト指向で書きます。
その理由は、とにかく楽しいからです。

その副次的な恩恵として、品質向上や可読性、コード共通化率の高さがあるのです。