July 11th, 2005, 3:34 pm
Designers have been openly criticizing the major problems raised by the use of the GoF patterns in their initially proposed implementations: confusion, indirection, encapsulation breaching and inheritance. These were further noticed as being special cases of the two problems of “code scattering” and “code tangling” exemplified herein in some of the previous postings (Flyweight vs Singleton, discussion).The 14 categories under which GOF patterns are described could be easily encapsulated in the aspect-oriented ones: Participants; Collaborations (in most of the patterns, communications are reduced to the collaboration protocol); Implementation (there are often several possible alternatives for structuring patterns); and finally Consequences (analysis the impact of various alternative structures on the application). The initial 23 patterns are most useful but should be tailored under context. Specific institutions should developed their own Pattern framework with which newcomers should get acquainted prior to any check-in. Pattern intensive legacy-code is more easily reusable but could as easily attain nightmarish maintenance problems, furthermore, this approach lacks the gluing-stuff aspects provide. I have worked for a major Telecom multinational, their legacy code was crammed with patterns, even so, a major in-house refactoring task spitted out almost 35K of useless code! (we ended up, implementing Fowler´s smells beforehand, in order to trim it down).I agree totally with Dr. Cuch´s approach, in fact, he has devoted a single book to PAC which I my humble opinion is the most useful pattern you find (although it looks more like the MVC on steroids) but we should also pay attention to lower-level coding issues, instead of delving solely on high-level design. (´aspects´ are nearer to use-cases than patterns, in fact). Furthermore, some of the object-oriented design patterns (Visitor for example) just disappear when aspect-oriented programming mechanisms are used. However, object-oriented design patterns are familiar to most of the software architects, hence, the name and description of the patterns should always subsist. Some Gurus like Ivor Jacobson, already began the aspect-oriented revolution. We should try to follow.The Janitor.
Last edited by
SierpinskyJanitor on July 10th, 2005, 10:00 pm, edited 1 time in total.