私は常に手続き型言語でプログラミングしてきましたが、現在はオブジェクト指向に向かっています。私が直面した主な問題は、効果的な方法でオブジェクトの向きを練習する方法が見つからないことです。私のポイントを説明します。PHPとCを学んだときは、練習するのはとても簡単でした。何かを選択し、そのアルゴリズムを考えるだけでした。
たとえば、PHPでは、座って考えてみるのが問題でした。「実は、製品を追加できる管理領域を備えたアプリケーションを1つ作成してみましょう」。これは非常に簡単でした。ユーザーを登録し、ユーザーをログインし、製品を追加するアルゴリズムを考える必要がありました。これらをPHPの機能と組み合わせて、練習するのに良い方法でした。
さて、オブジェクト指向では、さらに多くのものがあります。アルゴリズムについて考えるだけでなく、要件をより深く分析し、ユースケースを記述し、クラス図、プロパティとメソッドを理解し、依存関係の注入などを設定します。
主なポイントは、私がオブジェクト指向を学習している方法では、良いデザインが重要であるように思えるのに対し、手続き型言語では曖昧なアイデアで十分だったということです。手続き型言語では、設計なしで良いソフトウェアを書くことができると言っているのではなく、それを実践するために実行可能であるだけであり、オブジェクト指向では、実行するためでさえ、適切な設計なしでは行けないようです。
これは問題のようです。練習するたびに多くの要件やユースケースなどを把握する必要がある場合、オブジェクトの向きを改善するのに良い方法ではないようです。練習するたびにアプリのアイデアを1つ持つようにしています。
そのため、オブジェクトの向きを練習する良い方法は何ですか?