www.wikidata.uk-ua.nina.az
Princip yedinoyi vidpovidalnosti 1 angl Single Responsibility Principle SRP vazhlivij princip ob yektno oriyentovanogo programuvannya yakij oznachaye sho klas maye buti stvorenij dlya vikonannya lishe odniyeyi zadachi yaku vin povinen povnistyu inkapsulyuvati Otzhe vsi servisi cogo klasu mayut buti povnistyu pidporyadkovani yiyi vikonannyu Robert Martin zasnovnik terminu vislovlyuye princip tak Klas povinen mati lishe odnu prichinu dlya zmin 2 hocha cherez plutaninu navkolo slova prichina vin takozh zayaviv Cej princip stosuyetsya lyudej 3 U deyakih svoyih vistupah vin takozh stverdzhuye sho princip stosuyetsya zokrema rolej chi aktoriv Napriklad hocha voni mozhut buti odniyeyu lyudinoyu rol buhgaltera vidriznyayetsya vid administratora bazi danih Otzhe kozhen modul povinen vidpovidati za kozhnu rol 1 Zmist 1 Istoriya 2 Priklad porushennya SRP 3 Perevagi ta nedoliki 4 Vikoristannya 5 Div takozh 6 Primitki 7 PosilannyaIstoriya RedaguvatiTermin buv zaprovadzhenij Robertom Martinom v odnojmennij statti yak chastina jogo principiv ob yektno oriyentovanogo programuvannya sho poshirivsya zavdyaki jogo knizi Shvidka rozrobka program Principi prikladi praktika Martin opisav yiyi yak zasnovanu na principi zv yaznosti sformulovanogo Tomom DeMarko v jogo knizi Structured Analysis and Systems Specification 4 Priklad porushennya SRP RedaguvatiNehaj v sistemi ye klas sho predstavlyaye v nij robitnika public class Employee private String name inshi polya public String getName return name inshi metodi public void printReport kod dlya drukuvannya zvitu Krim cogo isnuye mozhlivist drukuvati zvit pro robitnika za dopomogoyu metodu printReport Ce i ye porushennya SRP Dlya prikladu rozglyanemo vipadok zmini formatu zvitu Ce zmusit programistiv redaguvati printReport sho mozhlivo prizvede do zmini robochogo kodu sho vidpovidaye za predstavlennya robitnika Ta navpaki yaksho u klas bude dodano bud yaka nova funkcionalnist napriklad pole telNumber to ci zmini budut vplivati na vmist zvitu A redaguyuchi vmist mozhna zachepiti format zvitu Ochevidno sho problema polyagaye v bagatocilovomu Employee Tomu yiyi rishennya bude nastupnim rozdiliti jogo funkcionalnist napriklad tak public class Employee private String name inshi polya public String getName return name inshi metodi public class Reporter public void printReport Employee worker kod dlya drukuvannya zvitu Perevagi ta nedoliki RedaguvatiSered plyusiv varto vidmititi taki protidiye dublyuvannyu kodu adzhe yaksho funkcionalnist roztashovana v nepravilnomu misci to dovedetsya kopiyuvati yiyi v potribne zmenshuye mozhlivist zmini vzhe viprobuvanogo kodu zabezpechuye vidpovidnist nazv klasiv ta yih funkcionalnosti sho polegshuye zhittya tim hto obslugovuvatime cej kod v majbutnomu Minus vikoristannya polyagaye v zrostanni kilkosti klasiv sho privodit do zrostannya skladnosti sistemi Vikoristannya RedaguvatiSOLID bukva S oznachaye princip yedinogo obov yazku angl Single Responsibility Principle Div takozh RedaguvatiLancyuzhok vidpovidalnostej GRASPPrimitki Redaguvati a b Martin Robert 2019 Rozdil 13 Zv yaznist komponentiv Princip uzgodzhenoyi zmini Chista arhitektura Mistectvo rozroblennya programnogo zabezpechennya Ranok Fabula s 125 126 ISBN 978 617 09 5286 8 Martin Robert 2021 Chistij Agile Ranok Fabula s 224 ISBN 978 617 09 6760 2 Martin Robert C 2014 The Single Responsibility Principle The Clean Code Blog Arhiv originalu za 8 zhovtnya 2018 Procitovano 6 listopada 2021 DeMarco Tom 1979 Structured Analysis and System Specification Prentice Hall ISBN 0138543801 Posilannya RedaguvatiOOD Principles ros Otrimano z https uk wikipedia org w index php title Princip yedinoyi vidpovidalnosti amp oldid 39186885