aspose file tools*
The moose likes OO, Patterns, UML and Refactoring and the fly likes Java Application Architecture - Are patterns essential to being a good programmer? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Spring in Action this week in the Spring forum!
JavaRanch » Java Forums » Engineering » OO, Patterns, UML and Refactoring
Bookmark "Java Application Architecture - Are patterns essential to being a good programmer?" Watch "Java Application Architecture - Are patterns essential to being a good programmer?" New topic
Author

Java Application Architecture - Are patterns essential to being a good programmer?

Calvin Hughes
Greenhorn

Joined: Jul 24, 2011
Posts: 8

Hello,
I am in the process of teaching myself Java and JavaEE. While I have been studying various programming books for the last year and a half and feel like I have a pretty good grasp of how to use the language. However as much as I understand how to move files and read and write to a database I seem to be at a loss when trying to figure out how to write programs from scratch. Is this where patterns come in? Is your book easy enough for a beginner like myself to make good use out of it?

On a side note I'm also curious about what kind of situations it would be good to use OSGI with in an application server like Glassfish?

Thanks
Kirk Knoernschild
author
Ranch Hand

Joined: Apr 16, 2012
Posts: 41
Hello Calvin,

Patterns can be controversial. Some folks believe patterns are essential. Others believe developers focus too much on using the pattern and not enough on solving the problem the right way. I tend to fall into the former camp while recognizing the latter is a risk. I believe anything that helps you create better software (i.e., resilient, maintainable, flexible, extensible) is a good thing. Patterns helps us solve complex design challenges using proven techniques. They are a starting point. The patterns in the book are a starting point to designing modular software. Don't rely on them to solve problems for you. Rely on them to help you solve problems by tailoring the pattern to your context.

Visit the book's website at modularity.kirkk.com where you can review all 18 patterns and download an excerpt of the book. There is also a mobile web application available that you can take with you wherever you go.

--kirk
Jayesh A Lalwani
Bartender

Joined: Jan 17, 2008
Posts: 2402
    
  28

Patterns are a good thing to learn for someone who is beginning to master the core language. However, be aware of the fact that to effectively use patterns you have to be aware of general design principles, and it takes a lot of time to use patterns effectively. It's not something you can learn by reading a book

generally what happens is that for junior developers who don't understand patterns, the designer/architect has to create detailed design that the developer can convert to code. When a developer knows patterns well, the architect can then basically explain the general principle behind the design and what pattern s/he wants to use, and the developer can then work independently. When you can work independently, you are considered a senior developer. When you are considered a senior developer, you get a raise.
Venkat Moncompu
Greenhorn

Joined: Feb 24, 2012
Posts: 9

Hi Kirk,
I quickly glanced the table of contents of your book at Amazon. Any specific reason why you've chosen scala and groovy in particular for the 2 chapters in the book?

Thanks
Venkat
Arturo Tena
Greenhorn

Joined: Mar 16, 2012
Posts: 6

Personally, I didn't understood the meaning, importance and usefulness of Design Patterns until I started to program. A lot. Daily.
Avinash Ga
Ranch Hand

Joined: Aug 13, 2011
Posts: 78

Patterns are lovely my friend. All of the standard patterns are carefully designed by the experienced experts who (after screwing some of their projects initially) excelled in software development. My suggestion is rather than judging about the usefulness of the patterns, simply learn all of them and then start your project. Only then you will find that no matter what ever the challenges you face while coding there will be one standard pattern which will specifically helps you over coming the challenges.


Avinash G.A
OCP Java SE 6 Programmer, OCP Java EE 5 Web Component Developer, OCE Java EE 6 Web Services Developer, VMware Certified Core Spring 3.x Developer, EMC Proven Professional (ISM-V2)
Kirk Knoernschild
author
Ranch Hand

Joined: Apr 16, 2012
Posts: 41
Venkat Moncompu wrote:Hi Kirk,
I quickly glanced the table of contents of your book at Amazon. Any specific reason why you've chosen scala and groovy in particular for the 2 chapters in the book?

Thanks
Venkat


Venkat,

No reason in particular, I suppose. Just that they are two languages with excellent JVM support, with one being a dynamic language and the other being a functional language. It would be a fun exercise (and easy) to use another language like Clojure. Just design the Clojure module and install it. That's it. No other changes to existing code necessary. Cool stuff.

Visit the book's website at modularity.kirkk.com where you can review all 18 patterns and download an excerpt of the book. There is also a mobile web application available that you can take with you wherever you go.

--kirk
Twitter: @pragkirk
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Java Application Architecture - Are patterns essential to being a good programmer?