主体性論争

主体性論争って言葉も私は知らない。哲学的なこと、思想的なこと、宗教的なこと、実は私は何も知らないのだ。それでも「オブジェクト指向」の祖はアリストテレスだし、この業界の人には若干哲学的になる傾向があるのかも。

ソフトウェア開発の現場では、実世界の概念をそのままコンピュータの中に取り込んで実現しようという方法論「オブジェクト指向」が主流になりつつある。オブジェクト(客体)を理解するためには主体(サブジェクト)を明確化しなければならない。

私は、主体を明確にせずに単に物(オブジェクト)をモデル化すべきでないだろうと考える。主体があるからその意識の中で行為や客体が見えてくるはずだ。主体をはっきりさせない状態で、ただそこにあるからとなんでもかんでもモデル化するというのはよくないだろう。ビジネスソフトウェアの世界では、主体とは一般にはシステム化したい1つの業務だ。その業務に関わる組織や人の意識された行為によって客体が浮かび上がってくる。また主体は、1つの小さなソフトウェアコンポーネントかもしれないし、逆に事業、企業、国家、地球、宇宙かもしれない。

ある主体は、物の形だけを意識していて色は意識しないかもしれない。意識しているものだけをモデル化すればいい。ものの形は考慮するが色は考えないとか、ある行為は考慮するが考慮しなくていい行為もあるなど。

主体(Subject)の外側に置くようなユースケースは要らない。YAGNIだ。金メッキだ。