From 6e9307dca96a7dc3119e51cd0781a39e1b64e933 Mon Sep 17 00:00:00 2001 From: dreddsa5dies Date: Mon, 14 Mar 2022 18:18:36 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B2=D1=81=D1=82=D1=80=D0=B0=D0=B8=D0=B2?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=BD=D0=B0=D1=81=D0=BB=D0=B5=D0=B4?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/PODOLSKY.md | 3 +++ 1 file changed, 3 insertions(+) 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?