Dificuldade na definição de Classes

Caros amigos estou com dificuldade mas não tecnicas, acho que seria mais na abstração da orientação a objetos. Digo isso pois fico indeciso quando devo colocar um metodo em uma classe ou quando devo criar um outro metodo e tal. A linguagem eu já compreendi, só que as vezes acho minhas classes muito grandes(gordas) existe algum livro que seja bom explicando sobre a orientação a objeto, de preferencia voltado para algum projeto para que possa ter como exemplo ? Pois minha duvida não é na linguagem em si mas na Orientação a Obejto utilizando a mesmo, e creio que esse seja o porto forte do Java. Alguem teria alguma dica ? Sou programador mas venho de linguagens procedurais e acho que isso está sendo a maior dificuldade.

Este é bem legal, e trata bem deste assunto que você procura:
http://www.temporeal.com.br/produtos.php?id=161013

Ps: Há a versão em português também, chama-se ‘Utilizando UML e Padrões’

icefox,

Também venho de linguagens procedurais e tive muita dificuldade em passar a pensar orientado a objeto.

Você já leu os tutoriais da sun ( www.java.sun.com/tutorial ) . Tem conceitos de orientação a objeto por lá.

Se seu inglês dá pra quebrar o galho, visite www.martinfowler.com . É um ótimo autor de artigos e livros. Há dois deles em portugues. UML essencial e Refatoração. Ambos valem muito a pena.

Mas o melhor conselho é : ESCREVA SUAS CLASSES. Se forem gordas , depois você vai arrumando.

Abraços,

Márcio

Por isso … aprenda UML. (Deixando as convençoes e teorias de lado)Para min UML é um passo muito interressante onde você “desenha” sua situação problema, aplica um modo de pensar que de certa forma proporciona uma melhoria significativa através da qual te da a oportunidade de planejar, visualizar situações, propor soluções, ou seja, pensar … pensar… Motivo pelo qual o ser humano evolui …

Aprender UML sem aprender teorias?

UML é uma linguagem, como java ou C++. Você pode usar qualquer linguagem para expressar teorias (BON, Booch, UML ou qualquer porcaria que seja entendivel).

Sem teoria, UML serve para forrar gaiola de passarinho.

Olá

[quote=pcalcado]Aprender UML sem aprender teorias?
. . .
Sem teoria, UML serve para forrar gaiola de passarinho.[/quote]

A opinião do Philip é corroborada por gente graúda:

[quote=Craig Larman no artigo What UML Is and Isn’t]
Getting a book or taking a course that focuses on UML, becoming certified in UML 2.0 notation, or knowing how to use a UML CASE tool has nothing to do with being able to think or analyze in objects or creating well-designed, object-oriented systems.[/quote]

[quote=Bruce Eckel comentando o artigo do Craig Larman]
I mostly agree with him. My experience is that the tools often get in the way of the process. It’s far too common to see people get lost in tools and notation, believing that this will somehow produce a good design.

I think the problem is that you have to really understand OO design to use the tools effectively – at that point the tools become useful for communicating the design. But they don’t help you create the design, they just help you talk about it.

The pitfall is that people have often come to believe that knowing UML would solve the problem of creating a good program. That’s like saying that knowing some words and some grammar rules will solve the problem of writing good prose. It’s necessary, but not sufficient. [/quote]

Artigo do Craig Larman: What UML Is and Isn’t

Comentário do Bruce Eckel: UML vs OO Design

[]s
Luca