Modificadores de Acesso a Pacotes em java

4 respostas
saulobt

Galera, Boa noite,

minha duvida e na versão do java mais atual 7 ou as outras mais antigas tem algum modificador de acesso a pacote por exemplo de uma determinada classe tipo assim.

tenho os seguintes pacotes:

com.programa.bll (classes de regra de negocio)
com.programa.dal (classes de acesso a dados e persistência)
com.programa.view (formulários, janelas, etc)

dentro do pacote dal tenho uma classe DAO

que só pode ser acessada por uma classe dentro do pacote dll…

classes que tiverem dentro do pacote view só podem acessar métodos e ou objetos, classes da dal por uma classe e objetos de uma classe de dentro do pacote bll?

dando uma estudada em modificadores de acesso em java não conseguir enxercar isso, e dentro do netbeans tem algum mecanismo para se fazer isso por exempo usando arquivos jars ou no menu Tools >> Libraries …

e sobre isso o que vocês acham? existe um “design patterns” não sei se posso chamar assim que resolva isso? ou force isso!
então eu não quero que por exemplo um programador que tenha acesso a um jar com as bibliotecas, só usem as classes do pacote bll, e ele não consiga usar diretamente o pacote dal por exemplo dentro do projeto dele que importe estas bibliotecas !

4 Respostas

Gleidson_Henrique

Até onde eu sei, não. Existe o protected, mas ele se restringe a somente o pacote em que ele encontra.

Vou acompanhar o tópico pois isso me deixou curioso também… Desculpa não ajudar hehe

Abraços

E

A parte de Modularização está sendo estudada para entrar no Java 9 (não vai dar tempo para entrar no Java 8 ).
Isso resolveria esse controle de acesso que você gostaria de fazer.


http://jcp.org/en/jsr/detail?id=294

saulobt

Obrigado ao entanglement e ao Gleidson Henrique,

mas entanglement o que queria e isso mesmo, modularização vou da uma olhada nas especificação que voce me falow para java 9… Atualizações para o Java Specification Request (JSR) Suporte Modularidade melhorada no Java TM Linguagem de Programação…

mas valeu pela ajuda…

eu consigo modularização usando onetbenas platform dando uma olhada…
link: http://netbeans.org/features/platform/index.html

Uma aplicação modular Uso da Pesquisa…
http://platform.netbeans.org/tutorials/nbm-quick-start.html

Obrigado ate mais.

ViniGodoy

Eu sempre considerei os modificadores do Java detestáveis. Primeiramente, por serem extremamente permissivos em relações a classes no mesmo pacote.
Em segundo lugar, por não permitirem um isolamento dentro do .jar (tal como faz o internal do C#).
Você acaba sendo obrigado a expor coisas demais. Gostei de ver essa proposta de módulos que o Entanglement postou.

É até possível simular isso com pacotes, mas como no Java o conceito de subpacote não existe, se quiser fazer a coisa direito, terá que deixar todas as classes relacionadas num pacote só (ugh).

Criado 10 de outubro de 2012
Ultima resposta 14 de out. de 2012
Respostas 4
Participantes 4