Olá, tenho acesso aos dois livros da serie use a cabeça(Padroes de projetos e analise e projeto orientado a objeto), a dúvida é, leio qual primeiro? Deixe sua opinião, qualquer que seja ela.
Caro Thales87,
particularmente, não recomendo livro Use-a-cabeça, mas se você sentir que aprende com ele, siga em frente.
A ordem é:
1o) Análise e projeto orientado a objetos (O.O.)
2o) Padrões de projetos
Se você já tem experiência em projetar sistemas e já dominou análise e projeto orientado a objetos, você vai tirar proveito de Padrões de Projetos. Caso contrário, espere um pouco mais até adquirir a experiência e domínio em projetos O.O…
Fazer diagramas da UML e colocar em prática, ajuda muito você a desenvolver habilidades avançadas em O.O. Por isso, se quiser investir nestas coisas, aprenda a projetar com o uso de UML, procure uma boa escola ou um bom livro sobre que fale na sua linguagem.
Seja bem-vindo.
wiliamps
Como o wiliamps comentou, normalmente se estuda OO antes dos padrões de projeto. Um livro a respeito do assunto é Fundamentals of Object Oriented Design in UML (Page-Jones).
Este livro, Análise e projeto orientado a objetos, eu comecei a ler uma vez, mas não curti muito não. Não lembro ao certo o motivo, acabei deixando ele de lado. Talvez fosse uma tradução ruim.
Mas o Padrões de Projeto, gostei bastante. Só que depois dele tem que ler o GoF também.
Olá senhores, muito obrigado pelas respostas, mas vou comentar com vocês pelo que estou passando, assim vocês me ajudam mais ainda. Sou certificado SCJP, SCWCD, SCBCD, mas sempre trabalhei recebendo requisitos ou projetando pequenas melhorias, conheço OO e conheço alguns padrões de projetos. O que acontece é que entrei num projeto muito mal feito, sem padrão algum, sem aplicação nem dos principios básicos, tem muita coisa pra fazer, até sei por onde começar, mas sinto que tenho que me preparar melhor, entao corri pra esses livros, inclusive li um capitulo de cada pra sentir como é, e senti realmente que o de Analise e projeto OO nao ta agregando muito, mas o de Padroes está sim. O que realmente preciso é de embasamente pra justificar e ter certeza do que estou aplicando. Comente mais por favor, já estou com o gof aqui também e procurei pelo FUNDAMENTALS OF OBJECT-ORIENTED DESIGN IN UML, mas pelo que vi só em ingles né? Se não tiver outro jeito vai ser em ingles mesmo, sempre soube que um dia teria que estudar algo totalmente em ingles, hehe. Novamente, muito obrigado pelos direcionamentos.
Outra coisa, um livro que está me ajudando muito é o java efetivo do Joshua Bloch…conhecem?
Então, você diz que o projeto é desorganizado, logo, entendo que a definição para programar o sistema está errada. Se for isso, melhor coisa mesmo é repensar isso, porque você já sabe disso, Programação O.O. só dá certo se a definição foi feita a partir de uma boa Análise O.O, senão o retrabalho “sem fim” é certo.
Não entendi porque você precisa basear num Padrão de Projeto se você tem experiência com projetos Java. Isso remete a um projeto muito complexo ou confuso.
Se o projeto estiver confuso: A solução depende mais de você simplificar o problema antes de definir como será codificada a solução, para isso, se sentir muita dificuldade, não tenha receio de envolver um analista/programador experiente em compreender este novo projeto ai que não faço idéia qual é, mas através de suas declarações, suponho que precisa resolver a definição mesmo.
Nota: Hoje vejo uma galera enfiando um monte de conhecimento em projetos e acaba com a capacidade de tornar o projeto de fácil compreensão para os programadores ou analistas herdeiros. Se tiver com um projeto deste, melhor mesmo estudar bem ele. Melhor arquitetura é aquela que consegue viabilizar a produção do resultado esperado e ainda tornar viável o entendimento para os programadores futuros. Espero que não esteja passando por isso, mas vale colocar esta informação.
Se o projeto for complexo, o padrão de projeto pode te ajudar sim de alguma forma. Veja Padrão de Projetos em:
http://www.argonavis.com.br/cursos/java/j930/index.html
Lá tem todas as apostilas necessárias para você aprender.
Este site é excelente.
wiliamps
Eu gosto desse livro:
http://www.novateceditora.com.br/livros/uml2abordagempratica/
Ele vai ensinando a modelar o sistema, desde a definição dos casos de uso até o projeto final. Mas pelo que você disse, talvez o importante agora seja mais saber o que deve ser feito e não como deve ser feito. Se estiver muito complicado converse com o gerente ou alguém responsável pelo projeto sobre a necessidade de colocar alguém que tenha mais experiência no levantamento de requisitos do que você. Acho melhor ser transparente quanto a isso agora do que depois, não é demérito nenhum assumir que não possui a experiência em alguma atividade do ciclo de desenvolvimento, até porque esse super-man do desenvolvimento que sabe tudo de todas as atividades e é excelente em todas elas só existe na cabeça das empresas.
Eu acho que é só em inglês, pelo menos é a versão que eu tenho.
É um livro clássico sobre Orientação a Objetos, explica os conceitos básicos, coesão, acoplamento, etc. Se você já tem bastante experiência, já deve ter boa parte deste conhecimento.
O Effective Java é muito bom!
Se você já tem o padrões de projeto em mãos e tá entendendo bem, vá em frente. O problema é ler o livro sem entender os conceitos básicos de OO.
Talvez esse artigo possa te ajudar: