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



Download 7,21 Mb.
Pdf ko'rish
bet266/343
Sana17.11.2022
Hajmi7,21 Mb.
#867526
1   ...   262   263   264   265   266   267   268   269   ...   343
Bog'liq
Eric Evans 2003 - Domain-Driven Design - Tackling Complexity in the Heart of Software

6.
Phasing Out a Legacy System
All good things must come to an end, even legacy computer software. But it doesn't happen on its
own. These old systems can be so woven into the business and other systems that extricating
them can take many years. Fortunately, it doesn't have to be done all at once.
The possibilities are too various for me to do more than scratch the surface here. But I'll discuss a
common case: An old system that is used daily in the business has been supplemented recently by
a handful of more modern systems that communicate with the legacy system through an
ANTICORRUPTION LAYER
.
One of the first steps should be to decide on a testing strategy. Automated unit tests should be
written for new functionality in the new systems, but phasing out legacy introduces special testing
needs. Some organizations run new and old in parallel for some period of time.
In any given iteration:
Identify specific functionality of the legacy that could be added to one of the favored systems
within a single iteration.
1.
Identify additions that will be required in the 
ANTICORRUPTION LAYER
.
2.
Implement.
3.
Deploy.
4.
Sometimes it will be necessary to spend more than one iteration writing equivalent functionality to
a unit that can be phased out of the legacy, but still plan the new functions in small, iteration-sized
units, only waiting multiple iterations for deployment.
Deployment is another point at which too much variation exists to cover all the bases. It would be
nice for development if these small, incremental changes could be rolled out to production, but
usually it is necessary to organize bigger releases. The users must be trained to use the new


software. A parallel period sometimes must be completed successfully. Many logistical problems
will have to be worked out.
Once it is finally running in the field:
Identify any unnecessary parts of the 
ANTICORRUPTION LAYER
and remove them.
5.
Consider excising the now-unused modules of the legacy system, though this may not turn
out to be practical. Ironically, the better designed the legacy system is, the easier it will be to
phase it out. But badly designed software is hard to dismantle a little at a time. It may be
possible to just ignore the unused parts until a later time when the remainder has been
phased out and the whole thing can be switched off.
6.
Repeat this over and over. The legacy system should become less involved in the business, and
eventually it will be possible to see the light at the end of the tunnel and finally switch off the old
system. Meanwhile, the 
ANTICORRUPTION LAYER
will alternately shrink 
and 
swell as various
combinations increase or decrease the interdependence between the systems. All else being equal,
of course, you should migrate first those functions that lead to smaller 
ANTICORRUPTION LAYERS
. But
other factors are likely to dominate, and you may have to live with some hairy translations during
some transitions.

Download 7,21 Mb.

Do'stlaringiz bilan baham:
1   ...   262   263   264   265   266   267   268   269   ...   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