0
車のコレクションがあるとします。 車は自転車、バイクまたは車でもよい。サブタイプを区別する方法は?
このコレクションのすべての車には、ウィンドウがクリーニングされている必要があります。
この車のコレクションを受け取るWindowCleanerがあります。 どの車で窓を清掃する必要があるのかを教えてください。 私は、WindowCleanerの車のサブタイプを区別すると、私はオープンクローズの原則に違反することに気付きます。
他にどのようにこれを行うことができましたか?抽象ブールプロパティNeedsWindowsCleanedを導入し、サブタイプにキャストしますか?これは、私には偽装のタイプイントロスペクションのように見えます。
私は、これはあなたが後にしている何かもしれないと思う
[コード2つのオブジェクトのサブタイプに依存したときに処理するためにあるのデザインパターン](HTTPの可能性のある重複:// stackoverflowの.com/questions/32255687/is-there-a-design-to-handle-when-code-on-the-subtype-of-two-obje) –