Software Design 3月号の表紙に「継承で消耗していませんか?」とあったのでつい買ってしまった。
皆、継承を「共通ルーチンを実装する」ための機能として使っているんですよねぇ。例えば、Springのコントローラーにユーザー系の機能を実装したクラスを作って、それを継承するような実装ガイドラインを作ったり・・・そこに実装するものじゃないと思うんでよねぇ。サービスの方でユーザー認証情報が必要だったらどうするんだとか。
私が作成する部分はできるだけ、継承を使わないようにしている。ポリモーフィズムを使うなら、インターフェースの方が良いと思うのですよ。まあ、本からの受け売りだが。100歩譲ってユーティリティクラスならまだマシなのだが・・・、Springならきちんとサービス作った方がいいよね。
ということで、この雑誌、もう一度、自分のプログラミングを見直すのに良いだろう
Software Design (ソフトウェアデザイン) 2021年3月号 [雑誌] – Software Design 編集部