2010年12月アーカイブ

DBIx::ObjectMapperという、PoEAA(Patterns of Enterprise Application Architecture, エンタープライズアプリケーションアーキテクチャパターン)のthe Data Mapper patternデータマッパーパターン)に則った新手のO/Rマッパーに興味を惹かれました。その一因は、現在進行形で開発しているAmikecoに於いて、the Active Record patternアクティブレコードパターン)指向であるDBIx::Classを用いて、ドメインモデルの細かな機微をどこまで表現するか悩んでいることにあります。

本稿では、現在の悩みの詳細、つまりDBIx::Classでテーブル継承系パターンを強引に実現している現状をご紹介しつつ、DBIx::ObjectMapperへ期待を抱くに至った経緯を簡単に記してみます。

追記 : tokuhiromさんに素晴らしいご指摘をいただきました! 本稿でSingle Table Inheritanceを実現できないと嘆いていたのは、Active Recordであることそれ自体が原因ではありません。パターンとモジュールをやや混同して書いてしまいましたので、お詫びします。また、その記事では、DBIx::ClassでもSingle Table Inheritanceを実現していたとのご紹介をいただいているので、(本文中にも弁解を書いていたように(弱気だなぁ))DBIx::Classの実装というよりも、私の使い方が今ひとつであることが原因のようです。愚直に書いただけでパターンを実現できない現状について、何が直接の原因となっているのかということを、落ち着いて・突き詰めてよく考えるべきであることを悟りました。拙い論考に対して鮮やかな反証をご提示いただいて、感激しています。本当にどうもありがとうございました!

追記 : nekokakさんやeiskeoishiさんたちの会話は、示唆に富んでいます。要件や現実世界が複雑だからといって、脊椎反射して腕まくりしてホイホイとモデリングをがっつりやるのは、多くの場合は再考の余地がある働き方だと感じます。いかに無理・無駄を省いてシンプルなものにしていくか、勉強を深めて参りたいです。

筆者"Gardejo"について

  • Twitter: @gardejo
  • GitHub: gardejo
  • CodeRepos: gardejo
  • CPAN: MORIYA

このサイトについて

Eorzea System Worksは、架空のシステム開発結社です。

FF14.name (FinalFantasyXIV.name)では、アヴァター(プレイヤーキャラクター)の管理システムやイベント出欠・リマインダシステムや、リンクシェル(LS)運営・管理システムやDKPシステムなどを設計・開発・公開する予定です。

関連サイト

関連サイトでは、他にもFF14に関連するサイトをいくつか紹介しています。

リンク, トラックバック歓迎

このブログへのリンク(どのページでも構いません)やトラックバックを歓迎します。

設計・開発・運用の参考にさせていただきますので、コメントもお気軽にお寄せください!

個別の記事に対するご意見などのほか、目安箱もご用意しています。

このアーカイブについて

このページには、2010年12月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2010年11月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

最近のコメント

2014年2月

            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28  

やや真面目なサイト