goo blog サービス終了のお知らせ 

ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

動詞の名詞化=メソッド(振る舞い)のクラス化

2009-12-11 09:04:05 | そのほか


 動詞はメソッド、名詞はクラスまたは属性とした場合、こまることがある。
 メソッドはどこかのクラスに入れないといけないけど、いくつかのクラスにまたがるものがある場合、どこにいれていいか。。。とか、あるクラスに大量のメソッドが所属し、開発できないとか・・・

 DDDなどでは、前者のいくつかのクラスにまたがる振る舞いをサービスとしているが、
 そうしても、じゃあ、サービスって、どう実装するの?ということになる。




 こういうときのテクニック。
 動詞を名詞化させる。

   実験する  =実験、
   歩く    =歩行
   ためしにやる=試行

 のように、動詞は名詞にすることができる。
 同様に、メソッドを名詞にできる。

 そもそも、オブジェクトが事物(ものと出来事)だとすると、その抽象化したクラスも物または出来事を表す。振る舞いしてることを出来事ととらえれば、メソッドがクラスとなっても不思議ではない。




実装上は、

public void myfunc(String arg1,int arg2)

のような場合、


public class myfunc
{
	String	arg1;
	int	arg2;

	void execute()
	{
		//	処理内容を書く
	}
} 



というかんじ。setter,getterもかいたほうがいいかも。
つまり、

  メソッド名=クラス名、
  引数=フィールド

とし、クラスの中にメソッドをつくって、そこにもとのメソッドの処理内容を書く。
もっとも、コンストラクタに書いてもいいけど。。。

 こうすると、メソッドをクラスにできる。


 これが、生きてくる場面については、またこんど

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする