プログラムってのはフレームワークと呼ばれる母体部分と、その上に載せるソフトでできていることが多いです。
Windowsなら.net Framework、Macならcocoa、WebはphpフレームワークやRailsなど。
僕らは基本的に上っ面部分を開発することがほとんどであり、母体部分を触ることは早々無いです。
母体部分はあまりにも大規模で大人数じゃないとやるもんじゃないですから。
が、たまにこの母体部分を開発しようとしてしまう人がいる。
プラグイン形式にして他の人が自由に追加できるように、と。
これコンセプトとしてはいいのですが、相当心を折る作業です。
実際に触ってみるとその大きさに心が折れそうになりますから。
自分も何度かやろうとしてこりゃ無理だ、と諦めたこと何度もあるし。
少なくとも個人でそういうことをやると挫折するきっかけとなるので気をつけましょうね。
そもそも作りたいものは母体部分なのか人に見せる部分なのか、そこ大事。
人間やっぱり成果を目で見れないとやる気が長続きしないですから。
始めから最適化をしてはいけないっていう言葉を聞いたことあるけど、実際に何度も作って、同じ所がたくさんでてきて、そして最適化する。
始めから先を見据えて、とかやりたい気持ちは分かるんですが、そういう事を考えているといつまで経っても完成しないのです。
だから基底クラスにこだわるより、まずは動くものを作る。
個人でやる場合はそうじゃないと気力が持ちませんから。