unmesh_joshi (2) [Avatar] Offline
In his book "Multithreading Design for C++" Jim Coplien explains how modular systems can be built with Commonality and Variability analysis for subdomains of the system. (Here SubDomain means any abstraction that has its own commonalities and variabilities, e.g. Logging, Security Policy, Threading etc are subdomains)
We can model given domain into commonalities and variabilities (stated in the parameters of variation) of its subdomain. I find some similarities in the approach taken in the book to that of AOP.
In MultiParadidm design, a subdomain can be parameter of variation of another subdomain. If we consider Logging aspect as a "Logging subdomain" and for any component this "Logging Subdomain" is parameter of variation.. I guess its more generic than thinking of it as an Aspect.
Do you think MultiParadigm Design is general form of Aspect Oriented Programming, Is it better if we start designing the system with MultiParadigm design processes and then map that analysis to Aspects?

ramnivas (171) [Avatar] Offline
Re: AOP and MultiParadigm Design
Hi Unmesh,

I haven't read the mentioned book, so I am not in position to comment. If I read this book, I will be sure to let my opinion be known here.


unmesh_joshi (2) [Avatar] Offline
Re: AOP and MultiParadigm Design

Here is the link to PDF version of the book. I think MultiParadigm design takes a generic approach on how we map problem domain to solution domain. Not starting with any particular particular paradigm like Object Paradigm, Procedural Paragidm etc, but doing commonality and variability analysis instead and then choosing the best paradigm to suit that analysis.