Separation av ansvar

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 24 mars 2020; kontroller kräver 4 redigeringar .

Separation of  concerns [ 1] är  en av de grundläggande principerna för ingenjörskonst . I synnerhet mjukvaruteknik .

Inom datavetenskap är separation av bekymmer processen att dela upp ett datorprogram i funktionella block som överlappar varandras funktioner så lite som möjligt. I ett mer allmänt fall är ansvarsuppdelningen en förenkling av en enskild process för att lösa ett problem genom att dela upp den i interagerande processer för att lösa deluppgifter.

Uppdelning av ansvar gör att du kan minska systemets komplexitet, öka tillförlitligheten och anpassningsförmågan (flexibiliteten) hos program och säkerställa att de återanvänds .

Varje programmeringsparadigm handlar om separation av bekymmer. När det gäller procedurprogrammering - mellan procedurer och funktioner , OOP - mellan objekt , lägger aspektorienterad programmering till aspekter till denna lista.

Designmönster som MVC ger en separation av presentation och innehåll .

Service Oriented Architecture (SOA) innebär ansvarsfördelning mellan tjänster.

Ursprung

Termen Separation of Concerns föreslogs först av Edsger Dijkstra 1974 i artikeln "Om det vetenskapliga tänkandets roll" [2] för att beskriva det vetenskapliga tänkandets process. I sin moderna betydelse användes denna term 1989 av Chris Reid i hans bok The Elements of Functional Programming [3] .

Anteckningar

  1. Denna term kan också översättas som "separation av inflytandesfärer". engelska ord .  oro i rättspraxis betyder "dela" eller dela
  2. EWDijkstra, Om det vetenskapliga tänkandets roll (EWD447) . Hämtad 19 juni 2011. Arkiverad från originalet 7 juni 2011.
  3. Chris Reader. Element i funktionell programmering . - Addison-Wesley , april 1989. - 600 sid. - ISBN 978-0201129151 .

Länkar