diff --git a/docs/PODOLSKY.md b/docs/PODOLSKY.md index a809fbe..f3785b4 100644 --- a/docs/PODOLSKY.md +++ b/docs/PODOLSKY.md @@ -97,6 +97,9 @@ Go vet + golint ### Почему встраивание — не наследование? +Буква L в аббревиатуре SOLID обозначает Liskov Substitution - объекты в программе должны быть заменяемыми на экземпляры их подтипов без изменения правильности выполнения программы. Этот принцип предложила [Барбара Лисков](https://en.wikipedia.org/wiki/Barbara_Liskov). + +При использовании наследования объект представляет собой наследуемый тип, тем самым наследуя функциональность, которой делятся родители. При использовании композиции у объекта есть все признаки, что предоставляют необходимую для объекта функциональность. Другой объект может повторно использовать некоторые из данных функциональностей, однако тип родителя или иерархия, восходящая к нему, отсутствует. ### Какие средства обобщенного программирования есть в Go?