Я завжди програмував на процедурних мовах і в даний час рухаюсь до орієнтації на об'єкт. Основна проблема, з якою я стикався, полягає в тому, що я не бачу способу ефективно орієнтуватися на об'єкт. Я поясню свою думку. Коли я вивчив PHP та C, це було досить легко практикувати: справа полягала лише в тому, щоб вибрати щось і продумати алгоритм для цього.
Наприклад, у PHP було важливо, коли я сів і подумав: "ну просто на практиці, дозвольте мені створити одну програму з областю адміністрації, де люди можуть додавати продукти". Це було досить просто, було важливо продумати алгоритм, щоб зареєструвати якогось користувача, увійти до нього та додати продукти. Поєднуючи це з функціями PHP, це був хороший спосіб практикувати.
Тепер у орієнтації на об’єкти у нас є маса додаткових речей. Справа не лише в тому, щоб продумати алгоритм, а глибше проаналізувати вимоги, написати випадки використання, з’ясувати діаграми класу, властивості та методи, налаштувати ін'єкцію залежностей та багато чого іншого.
Головне - в тому, як я вивчав орієнтацію на об'єкти, здається, що хороший дизайн є вирішальним, тоді як в процедурних мовах однієї нечіткої ідеї було достатньо. Я не кажу, що на процедурних мовах ми можемо писати гарне програмне забезпечення без дизайну, лише це заради практичної реалізації можливо, тоді як в орієнтації на об'єкти здається, що без хорошого дизайну не обійтися навіть для практикувань.
Це, здається, є проблемою, тому що якщо кожного разу, коли я збираюся практикувати, мені потрібно роз'яснити тонни вимог, використовувати випадки тощо, це, здається, не є хорошим способом стати кращим в орієнтації на об'єкт, тому що це вимагає у мене є одна ціла ідея для програми щоразу, коли я збираюся практикувати.
Через те, який хороший спосіб практикувати орієнтацію на об'єкт?