Table of Contents
Demeter-laki on suunnitteluohje ohjelmistojen kehittämiselle, erityisesti objekti-ohjelmointiin. Sen tavoitteena on vähentää esineiden välisiä riippuvuuksia, tehdä järjestelmistä modulaarisia, helpompi ylläpitää ja vähemmän alttiita vikoille.
Demeterin lain ymmärtäminen
Demeter-laki, usein tiivistettynä "vain puhua lähimmät ystävät," kannustaa esineitä kommunikoida vain niiden suorien yhteistyökumppaneita. Tämä tarkoittaa objektin pitäisi vedota menetelmiä:
- Itse
- Muuttujana käytetyt objektit
- Esineet, jotka se luo
- Sen suorat komponenttiesineet
Noudattamalla tätä sääntöä objektin riippuvuussuhteet minimoidaan, mikä vähentää riskiä tiukka kytkentä ja tekee koodin helpompi muuttaa tai laajentaa.
Demeterin lain täytäntöönpano
Demeterin lain täytäntöönpanossa suunnitellaan luokkia ja menetelmiä, jotka eivät pääse syvästi objektikuvioihin. Esimerkiksi, sen sijaan, että kutsuttaisiin:
order.getAsiakas().getAddress().getCity() [
On parempi antaa menetelmä, joka palauttaa tarvittavat tiedot suoraan:
order.getAsiakaskunta() [
Refaktoroidaan vinkkejä
- Sulkekaa itse luokan kompleksiketjut.
- Luoda menetelmiä, jotka paljastavat vain tarvittavat tiedot.
- Käytä suunnittelumalleja, kuten Facade tai Mediator vähentää riippuvuutta.
- Pidä kurssit keskittyen yhteen vastuuseen.
Edut lain Demeter
Lainsäädännön noudattaminen tarjoaa useita etuja:
- Vähentää luokkien välistä kytkentää.
- Parantaa koodien luettavuutta ja säilyvyyttä.
- Tekee yksikön testaus helpompaa eristämällä esineitä.
- Helpottaa koodin korjaamista ja laajentamista.
Yhteenvetona voidaan todeta, että Demeterin lain täytäntöönpano esinesuuntautuneessa suunnittelussa edistää puhtaampaa ja modulaarista koodia. Se kannustaa kehittäjiä miettimään huolellisesti objektin vuorovaikutusta ja riippuvuuksia, mikä johtaa vahvempiin ohjelmistojärjestelmiin.