2

私が取り組んでいるプロジェクトでは、それぞれが互いに接続および切断可能でなければならない多くのオブジェクトがあります。各オブジェクトには、異なるオブジェクトの接続インターフェイスの 1 つに接続できる複数の「接続可能なインターフェイス」(つまり、C1、C2、C3) があります。インターフェイス自体は、接続が存在するかどうかに関係なく存在し、追加/削除可能である必要があります。

たとえば、オブジェクトのリンクは次のようになります。

obj1 = ConnectableObject()
obj1.addInterface(name=C1,someproperties)
obj2 = ConnectableObject()
obj2.addInterface(name=C2,someotherproperties)
obj1.connectTo(obj2,C1,C2) #Connects obj1 and obj2 through their interfaces C1 and C2

インターフェイスが接続されたときに作成され、切断されると自分自身を破壊できる「リンケージ」と呼ばれる 3 番目のクラスを作成することを考えていました。しかし、このアイデアはやり過ぎのように思えたので、フィードバックを求めています。このタイプのオブジェクト インタラクションの推奨される実装または設計パターンはありますか?

4

1 に答える 1

0

合理的に聞こえます。Composite パターンを調べて、それを採用することをお勧めします。オブジェクトをトラバースし、接続されたインターフェイスに従って操作を実行すると仮定して、オブジェクトで何をするつもりかを述べていません-イテレーターパターンを使用できます。

ただし、デザインパターンの使用を検討する際には、常に利益と投資の問題であることに注意してください-あなたが述べたように、それはやり過ぎかもしれません.

于 2012-11-25T07:57:51.597 に答える