PHPで記述されたDroidAPIの設計と実装を手伝いました。それは問題なく動作しますが、私は常にコードをリファクタリングしようとしています。
共通の祖先を持つ他のオブジェクト内にオブジェクトを持っていても大丈夫ですか?
これは初歩的な質問かもしれませんが、これが悪い習慣であるかどうかを裏付ける情報を見つけることができないようです。
目標は、クラスfooにすべての人に共通の定数とメソッドを提供させることです。
例:
abstract class foo {
//constants
//common methods to all
}
class bar extends foo{
//represents something
}
class widget extends foo {
//represents something else
}
class controller extends foo{
//controls flow
public function __construct(){
$this->my_bar= new bar();
$this->my_widget= new widget();
}
}
クラスバーとウィジェットはfooを拡張する必要がない場合がありますが、これらのオブジェクト内のメソッドは、パラメーターを送信せずにfooが知っている一般的なことを認識しません。
ベストプラクティスを探しているだけで、冗長性が多すぎるようです。