yschmitzz Posted August 25, 2012 at 01:23 PM Report Share #473471 Posted August 25, 2012 at 01:23 PM (edited) Tenho uma dúvida, que sei que as 2 opções estão certa, mas acredito que de acordo com a Boa prática de programação deva existir uma maneira melhor de se fazer isso É o seguinte, a um tempo tenho desenvolvendo um projeto em Wpf, com o objetivo de aprender mais sobre a linguagem, o que esse projeto já me deu de dor de cabeça, mas também já me ensino muita coisa, graças também ao google e o pessoal do forum já aproveitando pra agradecer a vocês 😛 mas em fim, não gosto de manter o código todo em uma classe, separo tudo de acordo com a funcionalidade, não sei se é a forma certa mas assim que eu faço, minha dúvida e em relação na hora em que preciso trocas informações entre as classes, com as várias cabeçadas que dei em meu projeto aprendi a passar um objeto como parâmetro públic classePrincipal () { classeSecundaria cs2 = new classeSecundaria(this) } e na classeSecundária receber o parâmetro públic classeSecundaria (classePrincipal cs) { cs.algumMétodo() } quando devo instanciar um objecto normalmente e quando devo passar como parâmetro? vlw pessoal Edited August 26, 2012 at 02:52 PM by apocsantos Link to comment Share on other sites More sharing options...
bruno1234 Posted August 25, 2012 at 01:31 PM Report Share #473472 Posted August 25, 2012 at 01:31 PM (edited) Isso depende muito de como organizas a aplicação. Mas a minha preferência é que a classe secundária receba as dependências pelo construtor. eu fazia algo do género: private IFuncionalidadesClassePrincipal classePrincipal; public ClasseSecundaria ( IFuncionalidadesClassePrincipal classePrincipal ) { this.classePrincipal = classePrincipal; } em que IFuncionalidadesClassePrincipal (deveria ter um nome mais adequado) seria uma interface com os métodos que a classe secundária precisa. Claro que isto não se adequa tudo e não deves criar interfaces por tudo e por nada, mas dá para ter uma ideia. Edited August 26, 2012 at 02:52 PM by apocsantos Matraquilhos para Android. Gratuito na Play Store. https://play.google.com/store/apps/details?id=pt.bca.matraquilhos Link to comment Share on other sites More sharing options...
petvetbr Posted August 25, 2012 at 02:35 PM Report Share #473474 Posted August 25, 2012 at 02:35 PM Sim, como o Bruno mencionou não existe jeito mais certo ou errado. Porém existe um tendência de preferir a forma onde é passado no parâmetro e de preferencia usando interfaces ao invés de classes concretas. Isto se chama dependency injection e facilita a testagem e manutenção do código pois permite a troca da classe passada por parâmetro sem ter que modificar a classe que recebe. Fernando Lage Bastos - MCP/MCTS/MCPD Link to comment Share on other sites More sharing options...
yschmitzz Posted August 27, 2012 at 05:46 AM Author Report Share #473622 Posted August 27, 2012 at 05:46 AM Valeu galera, achei que dependendo de cada caso poderia ter uma maneira certa e outra errada valeu mais uma vez Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now