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

Jul 22, 2020, 8 tweets

sometimes the kind of refactoring that clears the way for easier extension, is not a refactoring toward this or that design pattern, but a refactoring to support a deeper conceptual understanding of a functional use case/ user scenario

#conceptualContours #ddDesign

oh you refactor refactor 😅

study and understand a user scenario or business process; then model and design their concepts

think of principles like high cohesion and low coupling, but in terms of concepts first, then classes and code mechanisms

#ddDesign #softwareDesign

"Refactoring toward deeper insight" - E. Evans

"refactoring concepts into code" is an ongoing process, it doesnt happen in a day, a week or a month; but to me it's the most enjoyable part of this grind we call coding

#refactoring #softwareDesign

basic example:

if your domain understands "foobar" and not "foo bar",

then the code should probably have one method
foobar(), as opposed to foo() and bar();

even though the latter may be following some legit technical design move like "extract method" or something

decompose your methods, classes, aggregates, etc, not according to teh tech or design patterns primarily, but in close relation to how domain use case concepts are actually understood at the core, in the domain

so teh tech should conform to the concepts (of the domain i.e. business subject matter), not the other way around; flutter or react or spring or kubernetes or whatever tech, should all bow to whatever problem you're solving in the domain

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