どのように私はクラスから選択された方法で私のクライアントを制限することができますか?

思想家:

のは、私は別の機能を提供する約20の方法で1つの完全なクラスがあるとしましょう。

今、私たちは、このクラスを使用して複数のクライアントを持っているが、我々は彼らがアクセス制限を持っていると思います。

例えばのために -

クライアント1 - 法1 / M3 / M5 / M7 / M9 / M11へのアクセスを取得します。

クライアント2 - 法2 / M4 / M6 / M8 / M10 / M12へのアクセスを取得します。

私はこのアクセスを制限することができます方法はありますか?

私が考えた一つの解決策:

アクセスすることはできませんし、そこから例外をスロー親クラスとオーバーライドメソッドを拡張する2つの新しいクラスを作成します。しかし、その後、別の要件を持つ第三のクライアントは、我々は彼らのために新しいサブクラスを作成する必要があります。

これを行うための他の方法はありますか?

マークテックス:

あなたは、作成できるInterface1だけのためのメソッドを定義しているClient1、とInterface2だけのためのメソッドを定義しているがClient2次に、あなたのクラスが実装Interface1Interface2

あなたが宣言するときにClient1、あなたのような何かを行うことができますInterface1 client1このアプローチでは、client1このインタフェースの唯一のメソッドにアクセスすることができます。

私は、これはあなたを助けることを願っています。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=308484&siteId=1