• 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 Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Literature about code design, which is above the obvious patterns ?

 
Ranch Hand
Posts: 311
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi,

I'm an experienced programmer, trying to work my way to a point when I can one day assume responsibility over the code design of entire projects (medium sized, and some day even large ones...).
I've already been responsible for design of partial modules, or very small projects. Been quite successful in both.
I also have good knowledge of design patterns (both theoretical and practical... e.g. I've used all 23 patterns mentioned in the famous "Gang of Four", and can give interesting insights on them all, based on real-world experience. I've read about other patterns as well, including but not limited to J2EE patterns).

Still I get the feeling it's not enough... patterns are only part of the solutions. I suspect there are other important principals, that are not "design patterns"... like: how much to plan ahead (over-flexible code could be hard to maintain), how to tell if my design guarantees de-coupling between modules, how to tell if may API interface is not over complicated of other (beginner) programmers to use...

These are only examples... the point being, I'm looking for "overall" principals which are not "patterns".
Is there any literature or web-sites on this ? Or is it only common-sense and experience ?

Thanks very much
 
(instanceof Sidekick)
Posts: 8791
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I'm a big fan of Robert Martin's Agile Software Development book (which he calls PPP for the subtitle Principles, Patterns, and Practices). His recent blog on PrinciplesOfObjectOrientedDesign gives an overview of the topics in the book.
 
Ranch Hand
Posts: 43
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
You have to learn the process of object oriented thinking. For instance API design will require that you define the interface with minimal number of parameters to the method. The public methods in a class must be minimal. There are other design principles that you need to understand in order to evaluate the different designs.

One of the best books on this topic is OO Design Heuristics by Arthur Riehl. Another good book is Object Thinking by David West published by Microsoft Press.
 
author
Posts: 14112
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I second Stan's recommendation - "Agile Software Development" really is a must-read, in my opinion. (Be warned that there is another book of that name by Alistair Cockburn - which is also quite good, but about a slightly different topic...)
 
Sol Mayer-Orn
Ranch Hand
Posts: 311
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
thanks everyone for the useful replies
 
I do some of my very best work in water. Like this tiny ad:
a bit of art, as a gift, the permaculture playing cards
https://gardener-gift.com
reply
    Bookmark Topic Watch Topic
  • New Topic