design-patterns

What are the best design patterns books you have read?

What are your favorite ones? ...

What is the most interesting design pattern you've ever met ?

Most of us have already used the casual patterns such as MVC, strategy, etc. But there must be some unusual solutions to unusual problems, and I'd like to hear about it. ...

Should you avoid object inheritence when persisting to an RDBMS solution

While looking at this question: Why all the Active Record hate? I found myself thinking of a general theme that ActiveRecord pattern is good when you have little or no inheritence in your objects, and DataMapper, while more complex, works much better if you do. Given that its never possible to perfectly match objects to relational datab...

Star-Schema Design

Is a Star-Schema design essential to a data warehouse? Or can you do data warehousing with another design pattern? ...

Never do anything until you ready to use it, in software too? [Toyota principle]

I was listening to a podcast. Where they talked about principles Toyota was using. " - Never do anything until you are ready to use it." I think this tell us to look in other places, to learn what other practices have known for years. Ok, here is the podcast. I think it is interesting http://itc.conversationsnetwork.org/shows/detai...

Never produce to an unknown pathway, in software too? [Toyota principle]

In Toyota manufacturing lines they always know what path a part have traveled. Just so they can be sure they can fix it of something goes wrong. Is this applicable in software too? All error messages should tell me exactly what path they traveled. Some do, the error messages with stack trace. Is this a correct interpretation? Could it b...

Class library with support for several persistence strategies

I am developing a C++ class library containing domain model classes, and I would like to add support for instantiating these classes from various persistence mechanisms, i.e. databases and file. The user of the class library should be given an interface(?) against which to program a class that can transfer the data from/to the persistenc...

Thoughts on Design - Core Control Logic and Rendering Layers

Hi All, I just wanted to see if I could have your thoughts on the design of some work I am currently doing. Here's the current situation - Basically: I am developing a series of controls for our applications. Some of these may be used in both WinForms and ASP.NET Web applications. I am on a constant endeavor to improve my testing and...

Design Patterns using IQueryable<T>

With the introduction of .NET 3.5 and the IQueryable<T> interface, new patterns will emerge. While I have seen a number of implementations of the Specification pattern, I have not seen many other patterns using this technology. Rob Conery's Storefront application is another concrete example using IQueryable<T> which may lead to some new ...

Does the MVC pattern describe Roles or Layers?

I read a text recently saying the MVC pattern describes the layers in an application. But personally I see MVC showing several key roles in an application. Which word do you think is better, layer or role, to describe the three main pieces of MVC? ...

data access object pattern implementation

Hi all, I would like to implement a data access object pattern in C++, but preferably without using multiple inheritance and/or boost (which my client does not like). Do you have any suggestions? ...

Lazy Function Definition in PHP - is it possible?

In JavaScript, you can use Lazy Function Definitions to optimize the 2nd - Nth call to a function by performing the expensive one-time operations only on the first call to the function. I'd like to do the same sort of thing in PHP 5, but redefining a function is not allowed, nor is overloading a function. Effectively what I'd like to d...

Long-lived RESTful interactions

We have a discussion going on in my team at the moment, and I'd be interested in other views. Suppose we have a RESTful web service whose role is to annotate documents by applying a variety of analysis algorithms and services. The basic interaction in clear: we have a resource which is the document collection; the client POSTs a new doc...

What should an Application Controller do?

I am a bit confused in what the application controller should do? Because I see the functionality will also exists in your MVP pattern to make the decisions which form should be shown when a button is clicked? Are there any good examples for Windows Forms that uses the application controller pattern? There is a difference in the MVC(on...

Categories of design patterns

The classic "Design Patterns: Elements of Reusable Object-Oriented Software" actually introduced most of us to the idea of design patterns. However these days I find a book such as "Patterns of Enterprise Application Architecture" (POEA) by Martin Fowler, much more useful in my day to day work. In discussions with fellow developers, ...

Techniques to Get rid of low level Locking

I'm wondering, and in need, of strategies that can be applied to reducing low-level locking. However the catch here is that this is not new code (with tens of thousands of lines of C++ code) for a server application, so I can't just rewrite the whole thing. I fear there might not be a solution to this problem by now (too late). However ...

Controlling access to an internal collection in c# - Pattern required

This is kind of hard to explain, I hope my English is sufficient: I have a class "A" which should maintain a list of objects of class "B" (like a private List). A consumer of class "A" should be able to add items to the list. After the items are added to the list, the consumer should not be able to modify them again, left alone that he ...

Ways to eliminate switch in code

What are the ways to eliminate the use of switch in code? ...

Pattern for trying different methods when exception is thrown

Here's a question to expose my lack of experience: I have a method DoSomething() which throws an exception if it doesn't manage to do it cleanly. If it fails, I try the less accurate method DoSomethingApproximately() several times in the hope that it will find a sufficiently good solution; if this also fails I finally call DoSomethingIna...

Programming Languages and Design Patterns

Hello, different programming languages have different features or lack certain features. Design patterns are a way to work around those shortcomings. I have seen the books and lists about design patterns in static, object oriented languages (Java, C++), but also the Videos about design patterns in Python. I'm interested in to see some ...