Я думаю, що багато людей намагаються надмірно розробляти рішення. Вони застосовують підхід "Адама та Єви", коли лише дещо практичніше значно спростить речі.
Спеціалізовані заняття не є злими, вони є природним наслідком продуманого програмного забезпечення.
Багато моїх програмістів, на мою думку, не розуміють цього, і не існує книги, яка мені відома, яка б це зрозуміла.
Ще одна річ, яка, безумовно, допомагає - це TDD, який дозволяє зрозуміти "як" ви будете використовувати клас на практиці і може у багатьох випадках заощадити день, оскільки він показує можливі проблеми / обмеження на початку дня.
Нарешті, ще одна ДУЖЕ важлива річ, яку я б шукав, якби я був ти, - це дизайнерські зразки. Шаблони дизайну - це те, як люди розумніші за вас чи мене вирішують проблеми програмування. Ідея, що лежить в основі шаблонів, вгадайте, що? Не полягає в тому, що вони не повинні використовуватися як кулінарні книги, рецепти, які ви просто тупаєте там, але вдумливо і розуміючи домен додатків у першу чергу.
Розумне використання шаблону значно зменшить кількість деталей, якими потрібно керувати.
Гарна бібліотека шаблонів дизайну, розроблена відповідно до ваших потреб, виявиться неоціненною. Давайте подивимось дуже простий приклад, щоб просто поставити речі в контекст:
уявіть, у вас є форма, де під час натискання кнопки інші форми повинні самі оновитись. Це типова модель "спостерігача". У вас є суб'єкт і декілька спостерігачів, які реєструють їх самі по собі. Для чого потрібно реалізувати інтерфейс? Ви можете просто додати методи, а ще краще, використовувати інтерфейс для спостерігачів та загальний список для теми. Тепер ви отримали найкраще з обох світів: незалежність для спостерігачів і жодних нечітко-химерних речей з цього питання.
Сподіваюся, це має сенс для вас!
Андреа