Treść książki
Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
SOLIDoznacza:
•SRP–SingleResponsibilityPrinciple(zasadapojedynczejodpowiedzialności)
•OCP–OpenlClosedPrinciple(zasadaotwarte-zamknięte)
•LSP–LiskovSubstitutionPrinciple(zasadapodstawieniaLiskov)
•ISP–InterfaceSegregationPrinciple(zasadarozdzieleniainterfejsów)
•DIP–DependencyInversionPrinciple(zasadaodwróceniazależności)
Zasadapojedynczejodpowiedzialności
Zasadapojedynczejodpowiedzialności(SRP)stałasięjednymzbardziejrozpowszechnio-
nychelementówpisaniadobregokoduzorientowanegoobiektowo.Pojedynczaodpowie-
dzialnośćpowodujedefiniowanieprostychklaslubobiektów.Tęsamąmentalnośćmożna
stosowaćwprogramowaniufunkcjonalnym,tworzącprostszefunkcje.Całakoncepcja
opierasięnaprostocie.Danyelementoprogramowaniapowinienzajmowaćsięjedną
itylkojednąkwestią.DobrymprzykłademnaruszeniazasadySRPjestscyzorykwielo-
funkcyjny(rysunek1-1).Możezrobićniemalwszystko,aleużytecznośćposzczególnych
elementówjestograniczona.
Rysunek1-1Scyzorykwielofunkcyjnymazbytwieleodpowiedzialności.
Zasadaotwarte-zamknięte
ZasadaOCP
,określanateżczasemmianemhermetyzacji,mówi,żeobiektypowinnybyć
otwartenarozszerzanie,alenienamodyfikowanie.Możnatopokazaćnaprzykładzie
obiektuzliczającego,zktórymjestzwiązanywewnętrznylicznik.Obiekttenmametody
increment
i
decrement
.Obiekttenniepowinienzezwalaćinnymelementomnazmienianie
wewnętrznegolicznikapozazdefiniowanyminterfejsemAPI,alemożebyćrozszerzany
(np.,abypowiadamiaćkogośozmianielicznikaprzezobiekttypu
Notifer
).
Prawidłowepisanieoprogramowania
|
3