aspose file tools*
The moose likes OO, Patterns, UML and Refactoring and the fly likes Broadly told to learn about patterns Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Java 8 in Action this week in the Java 8 forum!
JavaRanch » Java Forums » Engineering » OO, Patterns, UML and Refactoring
Bookmark "Broadly told to learn about patterns" Watch "Broadly told to learn about patterns" New topic
Author

Broadly told to learn about patterns

Matt Kidd
Ranch Hand

Joined: Jul 17, 2002
Posts: 256
In a really good and large company so things are good but guidance can be few and far between as I'm finding so I'll turn to you guys. I was told to "learn about patterns" during my review (4 out of 5 so it wasn't bad). Now, the actual use of patterns in the work place aside (from my POV at least) there wasn't any thing in particular I was told I should learn. In the time I've been in this industry I know that there at plenty of patterns to learn about. And recently I discovered this odd thing called "anti-patterns". Seems a linguist snuck into the development world. In any case work has access to TONS of books so I've glossed over. I've already read Head First Design Patterns but my eyes glazed over after a bit because patterns can be kind of dense. I get them and understand their use but I don't have them readily accessible as of yet. So does anyone have any insight into a particular order I should read the following books?


Manning - Bitter Java by Bruce Tate
Prentice Hall Effective Java 2nd Edition by Joshua Bloch
Wiley - More Java Pitfalls by Michael C. Daconta, Kevin T. Smith, Donald Avondolio and W. Clay Richardson
Refactoring by Martin Fowler
Enterprise Integration Patterns - Designing, Building And Deploying Messaging Solutions by Gregor Hohpe and Bobby Woolf
Core J2EE Patterns by Deepak Alur, Dan Malks and John Crupi
Dependency Injection by Dhanji R. Prasanna
Design Patterns Explained by Alan Shalloway
Design Patterns Java Companion (1998)
Design Patterns Java Workbook
Design Patterns, Elements Of Reusable Object Oriented Software, 1998 by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides
Fowler - Patterns Continued
Fowler - Patterns of Enterprise Application Architecture
Head First Design Patterns - OReilly 2004
Java Design Patterns A Tutorial (2000) by James W. Cooper
Morgan Kaufmann Web Application Design Patterns by Pawan Vora (only one I haven't heard of...)
Real-Time Design Patterns by Bruce Powel Douglass
Remoting Patterns [dist object middleware] - M. Volter, et al., (Wiley, 2005) WW
Head First Design Patterns - OReilly 2004
Practical API Design - Confessions of a Java FrameWork Architect; Jaroslav Tulach (not exactly patterns but I want to end up here and a side project I have I'll end up building an api)

And then there are these because I haven't done any SOA development. Again, plopped in front of me:

Packt Publishing Service Oriented Java Business Integration
Service Oriented Architecture with Java; Binildas C. A., Malhar Barai, Vincenzo Caselli (Packt Publishing, 2008)
Wiley Applied SOA Service-Oriented Architecture and Design Strategies
Wiley Business Rules Management and Service Oriented Architecture
Wiley Service Oriented Architecture for DUMmIES
Wiley Service-Oriented Modeling Service Analysis, Design, and Architecture


Any insight will be greatly appreciated.
Jimmy Clark
Ranch Hand

Joined: Apr 16, 2008
Posts: 2187
I get them and understand their use but I don't have them readily accessible as of yet.


It might be helpful if you could explain what you mean by "don't have then readily accessible." Is there anything that you do not understand about design patterns in general or a specific pattern?

There are hundreds of object-oriented design patterns in existence, some of them commerical and public, and some of them are proprietary and private.
Mohamed Sanaulla
Saloon Keeper

Joined: Sep 08, 2007
Posts: 3056
    
  33

Lot of the books quote design patterns discussed in: "Design Patterns, Elements Of Reusable Object Oriented Software, 1998 by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides" so you might want to start with that. But I think the examples there are in C++ (I am not sure though).
Head First Design Patterns is based on the above book, examples are in Java.
I think even this book is good: "Design Patterns Explained by Alan Shalloway" because I have read another book by the same author and found it to be useful.

Apart from that, which pattern to apply when is what you learn by experience and actually using the patterns. You should be aware of when each pattern can be used and thereby implement them in your work.


Mohamed Sanaulla | My Blog
Vicky Vijay
Ranch Hand

Joined: Apr 23, 2008
Posts: 125
Mohamed,

Is there any case/scenario in the real time implementation ,

that we shouldn't use Design Pattern ?



Mohamed Sanaulla
Saloon Keeper

Joined: Sep 08, 2007
Posts: 3056
    
  33

Guru Vijay wrote:Mohamed,

Is there any case/scenario in the real time implementation ,

that we shouldn't use Design Pattern ?

I cant point out any specific scenarios, but consider a situation where you are trying to write something new, its not always possible to think about the possible code design upfront, or think about how the code can change or how it will evolve upfront and then pick some pattern to use and even if you try to do so then you might end up overdoing the design where a simple implementation would have been good enough. But you always have to write code such that you must be able to refactor it in future and when you refactor it, you might unearth a chance to use some pattern.

One cannot always get right at the first attempt, its after a continuous refinement that the code begins to improve. And that continuous refinement when absent makes the code to rot.

But again to answer your question- I havent been so long in the industry to actual tell you where its not good to use.
William Brogden
Author and all-around good cowpoke
Rancher

Joined: Mar 22, 2000
Posts: 12682
    
    5
Is there any case/scenario in the real time implementation ,
that we shouldn't use Design Pattern ?


That is a good question. I go back a long way with computing and have seen many unifying concept/magic methods come and go. You are going to be exposed to many sales pitches about the latest and greatest architecture/scheme/secret potion/buy our book now pitches (especially with cool acronyms).

Design Patterns - the gang of 4 book - is the first I ever saw that had me saying YES! THAT's IT - that is what I have been doing when it worked/ thats what was missing when it didn't work.

Design patterns in general are worth browsing through when you are hunting for inspiration but don't feel you have to cram every problem into a named pattern.

Bill

Java Resources at www.wbrogden.com
Matt Kidd
Ranch Hand

Joined: Jul 17, 2002
Posts: 256
Jimmy Clark wrote:
I get them and understand their use but I don't have them readily accessible as of yet.


It might be helpful if you could explain what you mean by "don't have then readily accessible." Is there anything that you do not understand about design patterns in general or a specific pattern?

There are hundreds of object-oriented design patterns in existence, some of them commerical and public, and some of them are proprietary and private.


By "readily accessible" I mean that they are second nature. When presented a problem I need to solve I immediately think for example "Oh this would be a great application of a Factory pattern and an Adapter pattern". I'm well of aware of the hundreds in existence which is why I had the conundrum to begin with....no explicit place to start as a ground zero. Trying to avoid learning esoteric patterns so to speak.
Matt Kidd
Ranch Hand

Joined: Jul 17, 2002
Posts: 256
Mohamed Sanaulla wrote:
I think even this book is good: "Design Patterns Explained by Alan Shalloway" because I have read another book by the same author and found it to be useful.

Apart from that, which pattern to apply when is what you learn by experience and actually using the patterns. You should be aware of when each pattern can be used and thereby implement them in your work.


Thanks Mohamed. Knowing that HFDP is based on GoF is comforting so I could always pick that up again but I will give the Shalloway book a shot.

And I think you may have hit on the crux of the matter: being told to learn something I may not actually get the oppurtunity to implement felt a tad bit dismissive.
Matt Kidd
Ranch Hand

Joined: Jul 17, 2002
Posts: 256
William Brogden wrote:
Design patterns in general are worth browsing through when you are hunting for inspiration but don't feel you have to cram every problem into a named pattern.

Bill


Thanks Bill. I appreciated this insight. Though I may use it as an excuse to glance/not memorize patterns
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Broadly told to learn about patterns
 
Similar Threads
Binildas: book and other resources
which design pattern to build services on different systems and interact each other
Books on SOA
Difference between SOA and JBI
What are those buzz words?