Я использовал языки и методы ОО-программирования несколько лет назад (в основном на C ++), но за прошедшее время мало что сделал с ОО.
Я начинаю делать небольшую утилиту в C #. Я мог бы просто запрограммировать все это без использования хорошей практики ОО, но для меня было бы неплохо освежить применение ОО-методов.
Как и уровни нормализации базы данных, я ищу контрольный список, который будет напоминать мне различные практические правила для «хорошей» объектно-ориентированной программы - краткий список да / нет, который я иногда могу прочитать во время проектирования и реализации чтобы я не думал и не работал процедурно. Было бы еще полезнее, если бы в нем содержались правильные термины и понятия ОО, чтобы любой элемент проверки можно было легко найти для получения дополнительной информации.
Что должно быть в контрольном списке, который поможет кому-то разработать хорошее программное обеспечение для ОО?
И наоборот, какие «тесты» могут быть применены, чтобы показать, что программное обеспечение не является ОО?