To make this wonderful software even more wonderful, debuggable and documentable I think it would be favorable to integrate Design Patterns into entire Blender structure or at least to start this practice from now on. (I have not run through the code yet to tell if any of that was ever used in Blender, so above statement is an assumption.)
For those who are not familiar with the concept:
Design Patterns is a concept of abstraction of the best programming practices into patterns. You would not believe the power of these concept once you discover it.
In relation to the above remark I think that there should be some people that would run some sort of system analysis document and the rest of the people should follow. I know I am being bad
and proposing something that Open Source usually doesn't do, but I think it would be fare to try to find a compromise, due to the uniqueness of the situation that Blender is in (i.e. Formerly non Open Source, big code base developed by guidelines, large following).
What you're saying sounds good, but are you referring to design architecture? Or are you talking about coding within a certain frame of thought, shaping the code into recognizable structures.
From what I gather of the definitions of "Design Patterns" It means loosely:
Code micro architecture -- the actual way code works, the specific methods employed in a given algorythm or mechanism...
Like a patented way of doing a process, only without the patent threat.
Are you talking about standardizing this?
It sounds like it would help, provided there is good documentation on the designs being used.
Do you have any patterns you think apply to blender.
Maybe a book for reference to these patterns, I
have some Coad-Yourdon and UML books from the OMG,
as well as a book on design patterns in COAD notation,
but didn't find anything really profound in the patterns I reviewed,
a lot of them were intuitive, I fail to see the purpose in using them
other than just to discuss concepts.
It would be very difficult to use any implementation of a "design pattern"
at this stage of the blender release.
Cause a pattern has to be though of, at the very begining of a project.
So reimplementing this would be a HUGE work.
If you are talking of the design pattern from the book Of Paterson's...
You know what I mean.
But they could probably get advice from the good ideas from the abstraction layer concept.
A good action undo/redo concept could be sorted out of this.
But hey, to ask or talk about is a thing, to do it is, really another...
This is one of the best books on design patterns.
Elements of Reusable Object-Oriented Software
by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides (The Gang of Four).