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


Relationships with the External Systems



Download 7,21 Mb.
Pdf ko'rish
bet258/343
Sana17.11.2022
Hajmi7,21 Mb.
#867526
1   ...   254   255   256   257   258   259   260   261   ...   343
Bog'liq
Eric Evans 2003 - Domain-Driven Design - Tackling Complexity in the Heart of Software

Relationships with the External Systems
There are three patterns that can apply here. First, to consider 
SEPARATE WAYS
. Yes, you wouldn't
have included them if you didn't need integration. But be really sure. Would it be sufficient to give
the user easy access to both systems? Integration is expensive and distracting, so unburden your
project as much as you can.
If the integration is really essential, you can choose between two extremes: 
CONFORMIST
or
ANTICORRUPTION LAYER
. It is not fun to be a 
CONFORMIST
. Your creativity and your options for new
functionality will be limited. In building a major new system, it is unlikely to be practical to adhere
to the model of a legacy or external system (after all, why are you building a new system?).


However, sticking with the legacy model may be appropriate in the case of peripheral extensions
to a large system that will continue to be the dominant system. Examples of this choice include the
lightweight decision-support tools that are often written in Excel or other simple tools. If your
application is really an extension to the existing system and your interface with that system is
going to be large, the translation between 
CONTEXTS
can easily be a bigger job than the application
functionality itself. And there is still some room for good design work, even though you have
placed yourself in the 
BOUNDED CONTEXT
of the other system. If there is a discernable domain
model behind the other system, you can improve your implementation by making that model more
explicit than it was in the old system, just as long as you strictly conform to the old model. If you
decide on a 
CONFORMIST
design, you must do it wholeheartedly. You restrict yourself to extension
only, with no modification of the existing model.
When the functionality of the system under design is going to be more involved than an extension
to an existing system, where your interface to the other system is small, or where the other
system is very badly designed, you'll really want your own 
BOUNDED CONTEXT
, which means building
a translation layer, or even an 
ANTICORRUPTION LAYER
.

Download 7,21 Mb.

Do'stlaringiz bilan baham:
1   ...   254   255   256   257   258   259   260   261   ...   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