Win a copy of Functional Reactive Programming this week in the Other Languages forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

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

 
Calvin Hughes
Greenhorn
Posts: 8
Flex MySQL Database
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 41
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Rancher
Posts: 2756
32
Eclipse IDE Spring Tomcat Server
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 9
Android Spring Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 6
Eclipse IDE Java Mac
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 78
Eclipse IDE Java Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
Kirk Knoernschild
author
Ranch Hand
Posts: 41
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic