Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to learn designing applications in Java [closed]

Tags:

java

oop

I have been programming in Java for the past 2 years and now i want to get into Designing applications. So far i am only into coding ie; i am given design document/class diagram etc and asked to code. Now i want to learn how to design, i mean i want to lean when should a class be interface not a concrete class, coming up with design given the requirements , design techniqies and all the other aspects of desiging.

To learn all these could you plese suggest any series of articles/books etc.

I have tried reading Headfirst Design Patterns, but even though i am able to grasp few design patterns, i am still not able to get on to the desiging apllications on my own.

Please help.

like image 599
Sreedhar Avatar asked Dec 22 '09 08:12

Sreedhar


People also ask

How long does it take to learn design pattern?

At JetBrains Academy, you can get an introduction to design patterns and learn five types of the most common creational patterns in just 1 hour.

Which is the most used design pattern in java?

The Singleton Design Pattern is a Creational pattern, whose objective is to create only one instance of a class and to provide only one global access point to that object. One commonly used example of such a class in Java is Calendar, where you cannot make an instance of that class.


2 Answers

Design Patterns are quite advanced examples of design features built on fundamental principles such a Separation of Concerns, Coherence and Extensibility. If you are at the stage of wondering about Interfaces and Classes you may need to do some reading about fundamental OO ideas. For example read about SOLID principles. So I would not fisrt buy a book, I would start at that article and follow links and googles from there.

Then, reading is not enough, you need to do.

Next time you get a spec, study it. Understand the problem that is being solved, then go home and design it yourself. Compare your attempt with the spec. Or consider alternatives to the spec you are given, suppose you didn't have an interface here, or a Factory there why would this matter?

Ideally, your growth would be enabled if you leaders would start to give you less specified problems and allow you to design them. Project pressures may prevent that. In which case I think you need to do work in your own time. Pick some small projects and work on them. This may be tough unless you have mentors, but I think reading without doing is not going to advance you so quickly.

like image 193
djna Avatar answered Sep 22 '22 09:09

djna


This is a common question, and I don't blame you for asking it! It's something that we all ponder. You may find this question, and the associated answers, useful: Learning/Implementing Design Patterns (For Newbies)

like image 26
Ben Avatar answered Sep 21 '22 09:09

Ben



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!