私のpythonに新しいですが、オブザーバーパターンのバリエーションを実装しようとしたとき、私はヒッチに実行しました。Pythonのオブザーバーパターン
class X(models.Model):
a = models.ForeignKey(Voter)
b = models.CharField(max_length=200)
# Register
Y.register(X)
これは、Xが定義されていないと言うので、動作するようには思えません。物事のカップルが可能です。
A)現在のクラス(インスタンスではなく、しかし、クラスオブジェクト)を参照する方法があります。
B)あなたも、メソッドの外のコードを実行することはできません。 (これは、静的なコンストラクタのように動作すると思っていました。
あなたが本当にここで、クラスに合格しようとしていますか?私は理解するだろうが、そのクラスは?レジスタを登録するのではなく、コンポーネントレジストリを持っていなければ、それは正確なオブザーバーパターンではありません。オブザーバーのパターンでは、Yは物事をXに通知します。これは、Xがクラスである場合には実行できません。 –
Yとは何ですか?別のクラス?オブジェクトではない?このためにオブジェクトインスタンスを使用していないのはなぜですか?なぜあなたはこれのためにクラスを使用しようとしていますか? –