Domain-Driven Design: Tackling Complexity in the Heart of Software


Chapter Thirteen. Refactoring Toward



Download 7,21 Mb.
Pdf ko'rish
bet218/343
Sana17.11.2022
Hajmi7,21 Mb.
#867526
1   ...   214   215   216   217   218   219   220   221   ...   343
Bog'liq
Eric Evans 2003 - Domain-Driven Design - Tackling Complexity in the Heart of Software

Chapter Thirteen. Refactoring Toward
Deeper Insight
Refactoring toward deeper insight is a multifaceted process. It will be helpful to stop for a moment
to pull together the major points. There are three things you have to focus on.
Live in the domain.
1.
Keep looking at things a different way.
2.
Maintain an unbroken dialog with domain experts.
3.
Seeking insight into the domain creates a broader context for the process of refactoring.
The classic refactoring scenario involves a developer or two sitting at the keyboard, recognizing
that some code can be improved, and then changing it on the fly (with unit tests to verify their
results, of course). This practice should happen all the time, but it isn't the whole story.
The previous five chapters present an expanded view of refactoring, superimposed on the
conventional micro-refactoring approach.
[ Team LiB ]


[ Team LiB ]
Initiation
Refactoring toward deeper insight can begin in many ways. It may be a response to a problem in
the code—some complexity or awkwardness. Rather than apply a standard transformation of the
code, the developers sense that the root of the problem is in the domain model. Perhaps a concept
is missing. Maybe some relationship is wrong.
In a departure from the conventional view of refactoring, this same realization could come when
the code looks tidy, if the language of the model seems disconnected from the domain experts, or
if new requirements are not fitting in naturally. Refactoring might result from learning, as a
developer who has gained deeper understanding sees an opportunity for a more lucid or useful
model.
Seeing the trouble spot is often the hardest and most uncertain part. After that, developers can
systematically seek out the elements of a new model. They can brainstorm with colleagues and
domain experts. They can draw on systematized knowledge written as analysis patterns or design
patterns.
[ Team LiB ]


[ Team LiB ]

Download 7,21 Mb.

Do'stlaringiz bilan baham:
1   ...   214   215   216   217   218   219   220   221   ...   343




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2025
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish