寡辞

METAモデル駆動のオブジェクト複数の継承を伴う永続性
今すぐダウンロード

寡辞 ランキングとまとめ

広告

  • Rating:
  • ライセンス:
  • Perl Artistic License
  • 価格:
  • FREE
  • 出版社名:
  • Richard Hundt
  • 出版社のWebサイト:
  • http://search.cpan.org/rhundt/

寡辞 タグ


寡辞 説明

メタモデル駆動のオブジェクト複数の継承を伴う永続化 ORYXは、オブジェクトリレーショナルマッピングとDMBスタイルデータベースの両方をサポートするオブジェクト永続性フレームワークであり、そのように特定のストレージバックエンドと結合されていません。言い換えれば、永続的なクラスを変えることなく、DBMスタイルのデータベース(そしてその逆)を使用してRDMBをスワープアウトできるはずです。 - Perlの優れたイントロスペクシティ機能と膨大な柔軟性のため - これは非常に近いです。このため、HASH、アレイおよび参照の関連付けは、「Tie」のリベラルな使用で実装されています。非常に透明なものであることは、メタモデルの使用は概念的に永続的なクラスからのストレージバックエンドの解除をサポートし、そして大部分はメタデータの実際のAMOUTの横に、あなたは永続的なクラスを使用するでしょう普通のPerl Classesと実質的に区別がつかない方法では、Dry Principleを繰り返さないでください。あなたのクラス。その後、自動テーブルの作成を含むすべてのものがあなたのために行われます(RDBMSストレージを使用している場合)。 ORYXはこのようにして作成されたテーブルとリンクテーブルを賢明に識別しようとします。ネイティブPerlで作成できる構造やオブジェクトの関係は、データベースに存続します。これにより、ツリー、サイクリック構造、リンクリスト、ミックスリスト(異なるクラスのインスタンスを含むリスト)を作成するための柔軟性が得られます.Perlのネイティブ使用基本メカニズムによる複数の継承もサポートします。抽象クラスは、属性なしで単純なクラスです。基本QW(ORYX ::クラス)を使用する。 $ schema = {attributes => 、関連付け=> }。 1;詳細については...詳細のクラスメタデータの定義を参照してください。#=================================== =================================#永続クラスを使うCMSを使用: :ページ; $ page = cms :: page-> create({titel => 'metaverse'}の "} $ PAGE = CMS :: Page-> Retrieve($ ID); $ PAGE-> UPDATE; $ PAGE->削除; @Pages = CMS :: Page-> Search({author => 'Richard Hun%'}、@ORDER、$ LIMIT、$ OFFSET); #SQL句(どのページに特定の段落が含まれている)で検索します。@book = cms :: page-> search({exits => q {page.id = author.idとpage.titleのように、ページからのIDを選択します。 'meta%')})} #======================================: ================== ###あなたの変更をコミットする$>コミット; #======================================: =================#attribute mutator $ページ - >タイトル(「メタマニックメカニック」); $ TITE = $ PAGE->タイトル; #======================================: ========================#参照協会区切りat $ template_obj = $ページ - >テンプレート; $ PAGE->テンプレート($ template_obj); #======================================: ========================#アレイ協会アクセサー$ページ - >段落 - > = $ intro_para; $段落= $ PAGE - >段落 - > ; #======================================: =========================#array協会演算子$ counting = pop @ {$ page->段落}; $ intro = shift @ {$ page->段落};};プッシュ@ {$ PAGE->段落}、$ catument; unshift @ {$ PAGE->段落}、$ new_intro; splice @ {$ PAGE->段落}、1,4、($ summary); #======================================: ==========================#ハッシュ協会アクセサー$ IMAGE_OBJ = $ PAGE->画像 - > {logo}; $ PAGE-> Images - > {mug_shot} = $ my_ugly_mug; @keys = keys%{$ PAGE->画像}; @values =値%{$ PAGE->画像}; #======================================: =================== = observableページ - > add_observer(sub {my($ item、$ action)= @ _;#...}); $ PAGE-> ADD_OBSERVER(...); #インスタンス#=======================================: ================== ##### $ storage = oryx-> connect(); #またはスキーマ$ storage = oryx-> connect(、 'cms :: schema')。 #dbm :: deep back-end oryx-> connect(、 'cms :: schema')。 #======================================: ================= #::スキーマ$ storage-> deployschema()をデプロイする。 #既知のすべてのクラス( `` `` use 'を介して)$ storage-> deployschema(' cms :: schema ')。 $ Storage-> DeployClass( 'CMS :: Page'); #必要に応じて自動的にデプロイされます.Oryx(auto_deploy => 1)を使用します。 #すべてのクラスの場合はCMS ::ページ - > auto_deploy(1); #このクラス要件のみ: ・Perl


寡辞 関連ソフトウェア