2010-11-30 6 views
0

データベース接続クラスの作成が役立つ場所、そのクラスの拡張場所、場所の変更、場所の変更、クエリの送信などを確認できます。しかし、データベース接続クラス、db設定、パス設定以外で、トップレベルクラスから継承したいことは何でしょうか?拡張可能な、または差し替え可能なCMSを作成するときに継承する良いものは何ですか?

なぜCMSビルダーは、そのトップクラスから継承する必要があるのですか?私は誰もがページをハックして、その中に生のPHPを入れて、それを動作させるが、デザイナーはあなたがそのクラスを継承するということ以外は設計されていないファッションではないと思う。あなたが実際にあなたが受け継いでいたかどうかを確認するインタフェースを構築する方法はありますか?

私は何かを継承する価値があるのか​​を確かめようとしています。モジュールを拡張したりプラグインしたりすることは、実際に何を意味するのでしょうか?

答えて

1

私が通常CMSシステムに特有のオブジェクト指向の継承について見られる2つの理由は、永続性と階層を表すことです。

永続性は、独自の種類のORMを持つシステムを扱う場合に発生します。このようにして、新しいテーブルを必要とせずに簡単にCRUDとクエリエンティティを実行できます。また、異なる種類のエンティティ間の関係を定義する機会をより簡単に開くことができます。フォルダークラスには、他のエンティティの配列を返すgetContentsメソッドが含まれる可能性があります。

階層は、親エンティティの指定を必要とする基本タイプを持つことで機能します。ほとんどのCMSシステムは、何らかの親子ファッションのコンテンツの表現やフォルダ構造の直接モデリングに大きく依存しています。したがって、基本クラスのこのタイプの品質は、遵守を保証します。

インターフェイスに関する限り、実際に使用している言語に依存します。弱い型指定のシステムをお持ちの場合、オブジェクトが正しいメソッドを実装している限り、インターフェースを実装する必要はありません。実際に具体的なトップレベルを拡張しているのであれば、前述のパーシスタンスと内部の階層を解析するための内部アルゴリズムを掘り下げているでしょう。

関連する問題