Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

High-Level Design Patterns or Not Reinventing The Wheel

The Holy Grail of programming is to solve a problem once and make continual reuse of that solution forevermore. And, yet, despite my best efforts I find that I am often reworking familiar problems. So GoF design patterns aside, there have been several times that I've designed calendaring, content management, and person/organization address books to name only a few.

I'd like to know if there are any good resources (books, websites, whatever) where I could peruse common high-level business designs. I do realize that the requirements between my project and any pattern I might discover will differ, but I do expect the heart of the matter would remain the same, that there would be a lot of hard-won experience from which to draw. Plus, as geekish as this is, I simply enjoy reading about the process and the rationale behind the decisions from which designs emerge. I love it when shops, startups, and coders are transparent about their designs. (e.g. 37Signals, Garret Dimon)

This post touches on the subject and calls these high-level design patterns "Functional Design Patterns", but I'm not sure that's the common term used for what I'm describing. A search on "Functional Design Patterns" didn't turn up much. I also searched on "Domain-Specific Design Patterns" and "Data Model Design Patterns", the latter provided an interesting result so maybe this is more on target. By what term do you know what I'm trying to describe? Any good resources? Any other shops/coders who transparently showcase their emerging designs?

like image 907
Mario Avatar asked Sep 07 '09 15:09

Mario


People also ask

What is the best approach in design patterns?

One of the most popular design patterns used by software developers is a factory method. It is a creational pattern that helps create an object without the user getting exposed to creational logic. The only problem with a factory method is it relies on the concrete component.

Are design patterns outdated?

Quick answer: yes. Especially when you're at the beginning of your journey, design patterns are a good starting point. Even if you won't use them right away in your first projects, getting to know them will help you understand the existing solutions you're using. Complex solutions are made of patterns.

What are the 3 types of patterns?

Three Types of Design Patterns (Behavioral, Creational, Structural) Distinguish between Behavioral, Creational, and Structural Design Patterns.


1 Answers

If you haven't heard of the Hillside Group, the Pattern Languages of Programs events, or the books that have come out of this effort, I would start there. I have been nothing but happy about this effort.

like image 56
D.Shawley Avatar answered Oct 02 '22 06:10

D.Shawley