• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Tim Cooke
  • paul wheaton
  • Jeanne Boyarsky
  • Ron McLeod
Sheriffs:
  • Paul Clapham
  • Liutauras Vilda
  • Devaka Cooray
Saloon Keepers:
  • Tim Holloway
  • Roland Mueller
Bartenders:

Broadly told to learn about patterns

 
Ranch Hand
Posts: 267
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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.
 
Ranch Hand
Posts: 2187
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

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.
 
Bartender
Posts: 3225
34
IntelliJ IDE Oracle Spring Chrome Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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.
 
Ranch Hand
Posts: 125
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Mohamed,

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

that we shouldn't use Design Pattern ?



 
Mohamed Sanaulla
Bartender
Posts: 3225
34
IntelliJ IDE Oracle Spring Chrome Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

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.
 
Author and all-around good cowpoke
Posts: 13078
6
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

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
 
Matt Kidd
Ranch Hand
Posts: 267
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

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
Posts: 267
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

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
Posts: 267
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

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
 
Evildoers! Eat my justice! And this tiny ad's justice too!
New web page for Paul's Rocket Mass Heaters movies
https://coderanch.com/t/785239/web-page-Paul-Rocket-Mass
reply
    Bookmark Topic Watch Topic
  • New Topic