A good Java (not enterprise) code design book?

R

richardsosborn

I've been through some:

- "Thinking in Java"
- "Patterns in Java"
- "Java Pitfalls"

I'm looking for something that covers hardcore OO, code
design and some conventions, entirely in Java. (IE
"Thinking in Java II"?)

I was trying to stay away from anything with J2EE,
enterprise application, EJB, JMS, Struts, JDBC, etc..

Just memory, the heap, the creation of objects, mutability,
abstraction, coding to interfaces, refactoring, overloading,
everyday optimizations and shortcuts.
 
T

tom fredriksen

I've been through some:

- "Thinking in Java"
- "Patterns in Java"
- "Java Pitfalls"

Just memory, the heap, the creation of objects, mutability,
abstraction, coding to interfaces, refactoring, overloading,
everyday optimizations and shortcuts.

There are some other books you could be interested in:

** Effective Java™: Programming Language Guide
** Bitter Java
*Java Design: Building Better Apps and Applets
Java™ Design Patterns: A Tutorial
*Head First Design Patterns (A more practical intro to
the design patterns of Gamma, Helm)
Better, Faster, Lighter Java
** Refactoring
Anti Patterns
Applying UML and patterns


An Introduction to Object-Oriented Programming, 3e
Not just java, but pure an oo concept book.

/tom
 
T

TechBookReport

I've been through some:

- "Thinking in Java"
- "Patterns in Java"
- "Java Pitfalls"

I'm looking for something that covers hardcore OO, code
design and some conventions, entirely in Java. (IE
"Thinking in Java II"?)

I was trying to stay away from anything with J2EE,
enterprise application, EJB, JMS, Struts, JDBC, etc..

Just memory, the heap, the creation of objects, mutability,
abstraction, coding to interfaces, refactoring, overloading,
everyday optimizations and shortcuts.
Effective Java (reviewed here:
http://www.techbookreport.com/tbr0036.html). Also take a look at the
recommendations for intermediate/advanced Java titles at TechBookReport
(http://www.techbookreport.com/JavaIndex.html)
 
A

Alex Hunsley

tom said:
There are some other books you could be interested in:

** Effective Java™: Programming Language Guide
** Bitter Java
*Java Design: Building Better Apps and Applets
Java™ Design Patterns: A Tutorial
*Head First Design Patterns (A more practical intro to
the design patterns of Gamma, Helm)
Better, Faster, Lighter Java
** Refactoring
Anti Patterns
Applying UML and patterns

A good list of good books...
I would add "Elements of Java style" or similar.
(Also the Sun Java coding conventions are worth a look, which
aforementioned book is quite close to.)
 
A

Alex Hunsley

I've been through some:

- "Thinking in Java"
- "Patterns in Java"
- "Java Pitfalls"

I'm looking for something that covers hardcore OO, code
design and some conventions, entirely in Java. (IE
"Thinking in Java II"?)

I was trying to stay away from anything with J2EE,
enterprise application, EJB, JMS, Struts, JDBC, etc..

Just memory, the heap, the creation of objects, mutability,
abstraction, coding to interfaces, refactoring, overloading,
everyday optimizations and shortcuts.

Not a Java specific book, but I'd seriously recommend "The Pragmatic
Programmer" to any programmer.

http://www.pragmaticprogrammer.com/


Also, just to be on the controversial and off-topic side, have you heard
of Beyond Java?
http://shorterlink.com/?R24N66

(original link is:
http://www.amazon.co.uk/exec/obidos...8-1/ref=sr_8_xs_ap_i1_xgl/026-5425601-5314860)
 
I

iksrazal

Rastislav Komara escreveu:
There is only one hardcore choice :D... Design Patterns: Elements of
Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph
Johnson, John Vlissides a.k.a GoF

http://www.amazon.com/gp/product/0201633612/002-5490581-6661627?v=glance&n=283155

That book is 11 years old now, before uml, with examples in c++ and
smalltalk. There's a java book that covers those same 23 patterns:

http://www.amazon.com/exec/obidos/tg/detail/-/0201743973?v=glance

I didn't like the book when I bought it - but over the 4 years since it
has grown on me.

HTH,
Robert
http://www.braziloutsource.com/
 
A

Alex Hunsley

Rastislav Komara escreveu:


That book is 11 years old now, before uml, with examples in c++ and
smalltalk. There's a java book that covers those same 23 patterns:

http://www.amazon.com/exec/obidos/tg/detail/-/0201743973?v=glance

I didn't like the book when I bought it - but over the 4 years since it
has grown on me.

HTH,
Robert
http://www.braziloutsource.com/

GoF is slightly dated now, it's true, but still a good reference.
The nice thing about the Head First design patterns book is that it
sometimes covers more details than the GoF book. For example: the head
first book's coverage of Singleton talks about threading issues.
 
C

Chris Uppal

That book [GoF] is 11 years old now,

....which hardly matters at this level of abstraction...
before uml,

....and is all the better for that !

But I agree it's not a book to learn advanced Java from.

(Actually, I don't think GoF -- or any "pattern" book is a book to learn design
skills from in any language. You don't learn design by digesting reams of
patterns, you learn design by designing and by using other peoples designs.
Patterns are there to help you organise and communicate what you learn, not a
short-cut to learning itself.)

-- chirs
 
R

Roedy Green

You don't learn design by digesting reams of
patterns, you learn design by designing and by using other peoples designs.
Patterns are there to help you organise and communicate what you learn, not a
short-cut to learning itself.)

I think the human brain is designed to learn by abstracting from many
examples rather than by learning abstract rules and applying them.

Mathematicians of course do their damndest to avoid mentioning
concrete examples. They are the devils work, special cases that can
lead you astray with assumptions that don't really hold as generally
as you imagine.
 
T

Timo Stamm

Chris said:
That book [GoF] is 11 years old now,

...which hardly matters at this level of abstraction...
before uml,

...and is all the better for that !

But I agree it's not a book to learn advanced Java from.

(Actually, I don't think GoF -- or any "pattern" book is a book to learn design
skills from in any language. You don't learn design by digesting reams of
patterns, you learn design by designing and by using other peoples designs.
Patterns are there to help you organise and communicate what you learn, not a
short-cut to learning itself.)


I agree.


From the preface of "Design Patterns":

| This boook isn't an introduction to object-oriented technology or
| design.


The largest part of the book is a catalog of design patterns. I believe
it was the first book to serve as a reference of standard reusable
elements, and it did a great job. When we are talking about the
"facade", we are talking about the design pattern defined by the GoF. I
think this is a great achievement, because it makes communication
between programmers a lot easier.



Timo
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,576
Members
45,054
Latest member
LucyCarper

Latest Threads

Top