Словарь ИТшника

Словарь постоянно развивается и растёт. В этом словаре собраны термины и сокращения по программированию, безопасности и другим темам.

Принцип замещения Лисков

Программирование

Это Liskov Substitution Principle или LSP. Это третья буква в знаменитом сокращении SOLID. 

Барбара Лисков заявила, что производные классы должны быть спроектированы так, чтобы их при необходимости можно было заменить своими базовыми классами без потери обратной совместимости. 

Смысл в том, что нужно проявлять осторожность при использовании наследования, которое в современном программировании рекомендуют обходить стороной.

Дядюшка Боб (Роберт Мартин) дал очень хорошее определение -  функции, которые используют базовый тип, должны иметь возможность использовать подтипы базового типа, не зная об этом

Принцип открытости/закрытости

Программирование

Чаще можно увидеть этот принцип в виде сокращения OCP или Open/Closed Principle. Более подробно читаем про этот принцип в Open Closed Principle

Принцип разделения интерфейса

Программирование

Interface Segregation Principle (ISP) переводится как Принцип разделения интерфейса. Это четвёртая буква в аббревиатуре SOLID. 

Принцип разделения интерфейсов говорит о том, что слишком «толстые» (большие) интерфейсы необходимо разделять на более маленькие и специфические, чтобы программные сущности маленьких интерфейсов знали только о методах, которые необходимы им. В итоге, при изменении метода интерфейса не должны меняться программные сущности, которые этот метод не используют.

Кто-то трактует этот принцип как – лучше больше маленьких интерфейсов, чем один маленький. Я предпочитаю больше маленьких интерфейсов, но не уверен, что это правильное объяснение принципа. 

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне