Походит на то, что Вы ищете, Принципы Объектно-ориентированного Дизайна .
, Итогового от Принципы Гибкой разработки программного обеспечения, Шаблоны и Методы . Эти принципы являются с трудом завоеванным продуктом десятилетий опыта в разработке программного обеспечения. Они не продукт единственного ума, но они представляют интеграцию и записи большого количества разработчиков программного обеспечения и исследователей. Хотя они представлены здесь как принципы объектно-ориентированного дизайна, они - действительно особые случаи давние принципы разработки программного обеспечения.
SRP Единственный Принцип Ответственности класс А должен иметь только одну причину измениться.
OCP Открыто закрытый Принцип объекты программного обеспечения (классы, пакеты, методы, и т.д.) должны быть открыты для расширения, но закрытые для модификации.
LSP Принцип Liskov Substition Подтипы должны быть substitutable для своих базовых типов.
DIP Принцип Инверсии Зависимости Абстракции не должны зависеть от деталей. Детали должны зависеть upons абстракции.
ISP Интерфейсный Принцип Сегрегации Клиенты shold не быть вынужденным зависеть от методов, которые они не используют. Интерфейсы принадлежат клиентам, не иерархиям.
ЧЛЕН ПАЛАТЫ ПРЕДСТАВИТЕЛЕЙ Принцип Эквивалентности Повторного использования Выпуска гранула повторного использования является гранулой выпуска.
CCP Общий Принцип Закрытия классы в пакете должны быть закрыты вместе против тех же видов изменений. Изменение, которое влияет на закрытый пакет, влияет на все классы в том пакете и никаких других пакетах.
CRP Общий Принцип Повторного использования классы в пакете снова используются вместе. При многократном использовании одного из классов в пакете Вы снова используете их всех.
ADP Принцип Зависимостей Acylcic Не Позволяют циклов в графе зависимостей.
SDP Стабильный Принцип Зависимостей Зависят в направлении устойчивости.
SAP Стабильный Принцип Абстракций пакет А должен быть столь же абстрактным, как это стабильно.
Не уверенный в любых правилах. Все эти упомянутые вещи больше похожи на парадигмы OO мне. Существует немного советов, которым мы следуем как,
По словам Прагматически настроенных Программистов - правила:
Эти принципы OO являются прямыми от Главные Первые Шаблоны разработки :
Это понятия, не правила. Нет никаких правил действительно, просто решения сделать, некоторые проекты лучше, чем другие, некоторые намного лучше, чем другие :-)
существует много инструкций хотя :-) Некоторые - конкретный язык (C++ пронизан ими), другими является конкретное OO. Слишком многие для списка, хотя :-)
Первое, что пришло на ум, важные:
Много, чтобы подробно остановиться и добавить :-)
РЕДАКТИРОВАНИЕ: Я должен добавить, правила, которые Вы перечислили, не уникальны для OO
Нет никаких "Правил" к ООП.
существует 4 свойства языка, которые делают язык объектно-ориентированным или не (это вещи, которые Вы перечислили в своем вопросе).
Остальная часть материала там инструкции. Лучше всего/больше всего полезные инструкции, которые я прочитал, СХВАТЫВАНИЕ
, Многие предложения не с готовностью понятны неспециалистами (крупные фирмы неCS). Я думал, что СХВАТЫВАНИЕ было прагматично и доступно.
я думаю, что СХВАТЫВАНИЕ хорошо, потому что оно предлагает самую критическую часть OO на ее имя - Присвоение Ответственности (к объектам не программисты).
два самых критических понятия СХВАТЫВАНИЯ, из которых все остальное происходит, связываются и сцепление. Эти два понятия/принципала управляют всеми другими шаблонами и подходами.
BTW - я просто брал интервью у Вас? Вы записали вопрос неправильно...