Hatena::Groupcatalyst

dann@catalyst このページをアンテナに追加 RSSフィード

2008-03-06

DBにしか入れないデータでも抽象化は必要か?

22:22 |  DBにしか入れないデータでも抽象化は必要か?  - dann@catalyst を含むブックマーク はてなブックマーク -  DBにしか入れないデータでも抽象化は必要か?  - dann@catalyst  DBにしか入れないデータでも抽象化は必要か?  - dann@catalyst のブックマークコメント

id:yappoさんの日記に空前のMVCブームにのった記事のリンクが張られています。

http://d.hatena.ne.jp/yappo/20080306/1204781864

一通り全部のBlogを読んでみても、やっぱりまだしっくりとこないところが結構あるなぁということで、もう少し深く議論をしたい!

読んだ記事の中でも、id:miyagawaさんの記事は、納得できる話が多かったです。

納得しているのは、

  • LDAPDBなど異なるストレージに対する操作を抽象化するときに、抽象化したモデルが必要であるということ
  • 複数の M を操作するプロシージャコールみたいなメソッドをまとめて定義したクラスを用意する

という点です。

一つ目の話は、dmakiさんも書いていることです。これは自分もそう思います。これは、これしか解がないように思います。dmakiさんのBlogの例やmiyagawaさんのLDAPの例については、ストレージレベルでの抽象化が必要なデータだから、抽象化したデータモデルが必要なんだと思います。ここまでの話は特に違和感も何もなくて、自然な話だと思う。特に疑問に思うところがないです。

2つ目の話は、複数のモデル(DB)を操作するクラスが必要という点については、自分もそうなんじゃないかなぁと思ってます。ただ、一つのMだけに必要なロジックも、C というクラスに置いたほうがよいのか?というのは、わからないです。これについての疑問は、次のエントリに書きます。

まずは、話が長くなるので、一つ目の話だけをします。

  • DBにしか入れないデータがあったとしても、常に抽象化する必要があるのか?

1番目については、最近はNoだと思っています。将来的に抽象化が必要なことが予想されるのであれば、抽象化が必要なものなんだと思ってます。

トラックバック - http://catalyst.g.hatena.ne.jp/dann/20080306