rasiim kyan Profile picture
still around but i be in them blue skies more nowadays - https://t.co/nwMoM2u54J

Jul 29, 2020, 9 tweets

why are analysis patterns not as popular as design patterns? i.e. template models to be tweaked per your particular domain modeling endeavor; "a kit of model fragments" (E.Evans);

they remove the need to reinvent the wheel e'ytime you need to model a domain. like a framework or library of concepts. like a react/angular/springboot for model concepts? not the best analogy but it'll do 🤓

Analysis Patterns: Reusable Object Models by Martin Fowler) martinfowler.com/books/ap.html

analysis patterns - are descriptions of domain elements that are customised to solve a general domain-analysis problem in a particular context

domain/model patterns - are descriptions of communicating concepts and subsystems that are customised to solve a general modeling problem in a particular context e.g. closure of operations

design patterns - are descriptions of communicating objects and classes that are customised to solve a general design problem in a particular context e.g. factory

#dddRefresher #ddDesign #designPatterns

the key difference between a design pattern and a model/domain pattern, is that the former addresses technical (class level) design, while the latter addresses the more interesting half of software - the conceptual patterns of the domain (business subject matter)

some of the known gang of four design patterns can also play as model patterns, namely the #StrategyPattern and the #CompositePattern (ref the blue book E.Evans)

the cool thing about all this is that we can look at those design patterns with a fresh perspective - from merely classes and interfaces - to a more holistic pov of concepts, meanings, conversations about what's going on in each business/use case that we're designing n coding to

Share this Scrolly Tale with your friends.

A Scrolly Tale is a new way to read Twitter threads with a more visually immersive experience.
Discover more beautiful Scrolly Tales like this.

Keep scrolling