そのコードについて他に何も知らなくても、私はこれを推測します:
わかりました、ソースを見ました。もっともらしいですが、線の下は正しくありません。基本的に、コードが行うことは、他のことを行うオブジェクトChatConnection
を作成するために使用されます。クラス名ではなく、ただの名前の悪い通常の変数です。Session
ChatRouter
SockJSRouter
別のクラス ( と呼びますconnection
) と文字列をパラメーターとして受け取るクラスです。のインスタンスではなく、(おそらくサブクラス) を使用する特別なクラスの__new__
インスタンスを作成するために使用します。それはクラス名になるので、大文字になっている理由を説明します。返されたクラスは、ネットワークなどを介した通信の処理を担当するなど、多くのことを一般化するために使用されます。したがって、異なる を使用することで、異なるプロトコルを処理できます。おそらくIRC上のいくつかのレイヤーです。SockJSRouter
connection
ChatRouter
connection
connection
connection
ChatConnection
したがって、基本的に、一般的なユースケース (そしておそらくここでの使用) は一般化であり、BactrianCase という名前の理由は、それがクラス (実行時に生成されるもの) であるためです。