既存画面を分割した場合の共通メソッドの使い方 | 江木町の牛舎

江木町の牛舎

~ 田舎者プログラマの日常 ~

これは以前からどうするのが正解なのか迷っている方法

A画面が結構以前の画面、もしくは初心者が分割もせず継承もせず
だらだらと作りこんだものである場合、
機能ごとにクラス分けするとか、手法はいろいろとありますが
そんな中、A-1、A-2、A-3 なんてクラスパネルに分割した場合、
共通メソッド M が存在する場合は、親パネルに M を持たせて
継承させれば何ら問題は無いわけなのだが、

これが、どうにも分割できず
A画面のほとんどを残して、一部のみをB-1、B-2に分割した場合、
A画面で使用しているメソッドを B-1、B-2 でも共通メソッドとして
使用したい場合はどうなのだろうか?(´・ω・`)

やはり静的メソッドにして外部から使用するのが定石なのか

だとした場合、静的メソッドにできない場合は?

static にした場合は制約が多い
一番はインスタンス変数やインスタンスメソッドが使えなくなるということ
巡り巡って結局クラスを静的にした方が簡単なんて話になりかねない
(´・ω・`)

ここはひとつ処理だけ外に出すのか?
DBアクセスや画面の内容を使う場合なんてどうするんだろう

...うーん... やっぱりよく分からない(´・ω・`)

どうするのが正解なんだろう