Tell me more ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

How do you improve your ability to design your applications? Where do you get your design ideas from? (I am asking about code design - not about a specific language and not about visual appeal).

When I started programming, I found Design Patterns to be very helpful. These days I mainly poke around open source projects to see what other people did whenever I need to solve similar problems.

What do you do?

share|improve this question
Learning/Implementing Design Patterns (For Newbies) @stackoverflow.com/questions/244706/… – pramodc84 Sep 29 '10 at 12:13
@pramodc84 I am not a newbie... – Hila Sep 29 '10 at 18:22
I just tried to link SO. Plz don't mind about '(Newbies)' thing – pramodc84 Sep 30 '10 at 3:27

3 Answers

up vote 5 down vote accepted

read Head-First Design Patterns. it tells you how to get to a pattern but providing the design principle that gets you there. will help you a lot to design, so read it for the principles, even though its title is Design Patterns

another thing are the SOLID principles. see link on wikipedia and also go for the links in the article and for the links at the reference area back page. the one from Uncle Bob is good

also, Uncle Bob has written about SOLID in his book Agile Software Development, Principles, Patterns, and Practices. there are only a few chapters about those in the book, still, you might be interested. if you want the shorter version, got for the link mentioned on wikipedia page

here is a video, on vimeo, about getting better at oop

share|improve this answer
And Head-First Design Patterns is here too books.google.com/… – pramodc84 Sep 29 '10 at 12:17
V - Added some of your suggestions to my reading list – Hila Sep 29 '10 at 18:18

I read books/blogs/articles about specific architecture models and then try them out. I build a small app (usually something I've made before) to see if it is any easier or better than what I've done in the past. If it will potentially help any professional projects I'm on then I'll pitch the idea to my peers to see if they agree.

share|improve this answer
Do you have any specific examples or links? – Hila Sep 28 '10 at 22:28
books.google.com/… – pramodc84 Sep 29 '10 at 12:16

Read questions and answers on stackoverflow. and very import: the comments

share|improve this answer
Good one! I found about it recently and I've already learned a lot. – Hila Sep 28 '10 at 22:28

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.