У меня есть ситуация, когда мне нужно ограничить доступ к классу. для дальнейшей разработки у меня есть два класса, скажем A
и B
, которые зависят от класса C
, но A
не нужно использовать полный интерфейс C
, то же самое относится к B
. Что я сделал, сделайте C
реализовать два разных интерфейса, один интерфейс A
может получить доступ, другой для B
. Что я здесь делаю, правильно? или я должен просто документировать это? или есть ли лучший подход?ограничение доступа к интерфейсу класса в java
Чтобы предоставить больше контекста, я пытаюсь реализовать систему, которая позволяет использовать интерфейс для плагинов. И я не хочу, чтобы кто-то обращался к частям класса, в котором я их не хочу.
Он делает то, что вы хотите, чтобы он сделал? Проходят ли ваши тесты? Тогда это правильно. Обратите внимание, что это никогда не помешает кому-либо вызвать метод, который не находится в интерфейсе, если он действительно хочет. Это будет мешать hiM: er делать это по ошибке. –
Это была моя проблема, она работает, (по крайней мере, на данный момент), но разве у меня есть интерфейс для класса, который я не хочу, чтобы третья сторона использовала доступную в такой ситуации? –
делить контракт C на несколько интерфейсов и выставлять только соответствующий интерфейс в других частях кода. Я не вижу никаких проблем в этом подходе. –