Win a copy of Event Streams in Action this week in the Java in General forum!
  • 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 all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Devaka Cooray
  • Liutauras Vilda
  • Jeanne Boyarsky
  • Bear Bibeault
Sheriffs:
  • Paul Clapham
  • Knute Snortum
  • Rob Spoor
Saloon Keepers:
  • Tim Moores
  • Ron McLeod
  • Piet Souris
  • Stephan van Hulst
  • Carey Brown
Bartenders:
  • Tim Holloway
  • Frits Walraven
  • Ganesh Patekar

Design skills

 
Ranch Hand
Posts: 68
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi All,

I don't know if this is the right forum to ask this question but can someone please guide me on how to improve my designing skills? Everyone says you get it by experience, but I don't know how to start. I just know I would need a good amount of practice to get some confidence. I am not sure where to start, how to measure my progress. Would really appreciate it if someone could give me some guidance on this.


Thanks in advance,
Preethi
 
Ranch Hand
Posts: 154
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Short answer : Through continued work and experience gained in the process

Long answer : Read on..

Step 1. Go through some of the common design patterns ,and try to build a general understanding of what kind of problems each pattern aims to solve. You could then probably take a look at the implementation (and the design docs,if any) of the product you are working on.Then try to identify the design patterns in the implementation. That would reinforce your understanding of the desing patterns ,in general.

Step 2. Start working on some problem by analysing it from different perspectives. Understand the performance and scalability requirements of the same,the kind of user load the solution could be exposed to,whether it would be wise to make the system concurrent etc.

Step 3. Test and see if your design meets the perf/scalability benchmarks

Step 4. Loop 1-3 till you get the appropriate design meeting the benchmarks.

In the process you would definitely develop design skills.

 
It is sorta covered in the JavaRanch Style Guide.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!