私は小さなプロジェクトを構築しています。プロジェクトの設計方法についていくつかの情報を得たいと思います。自分の考え方が良いか悪いかが分かり、それが悪い場合はどうやって悪くなり、どのように改善することができますか? クラスデザイン - 私のアプローチは正しいですか?
- エリアの建物の
- 数:2つのプロパティがあり
- ストリート、:
は、私は3つのクラスがあります。
- 地図<文字列を持っている
- 市は、ストリート> - 文字列が
- 地図<文字列を持っている
- 国、StreetName で、市は> - 文字列CityNameです。
- ストリート、:
私は2つの国のオブジェクトを比較し、レポートを作成したいです。 2つの都市(異なる国から)が同じStreetNameを持っている場合は、同じCityNameチェックを行います。同じStreetNameを持つ場合、建物の面積と数を比較します。彼らが同じStreetNameを持っていない場合、レポートには「都市名は同じですが、建物には20の建物があり、もう1つに55の建物があります」と書いてあります。 (同じ面積と建物数の場合は、報告書に何かを書く)。
これは私がそれを行うには考えていた方法です。
- 3つのクラスを作成します。CountryReport、CityReportとStreetReport
- CountryReportがCityReportのリストを持っていますし、cityCompareReportの方法を持っています(国、国)。メソッドcityCompareReportは2つの国を受け入れ、同じCityNameを持つ場合、CityReportのオブジェクトを作成し、それらの都市を比較します。
- CityReportはStreetReportのリストを持ち、streetCompareReport(City、City)のメソッドを持ちます。 streetCompareReport()メソッドは2つの都市を受け入れ、同じStreetNameを持つ場合はStreetReportのオブジェクトを作成し、それらの街を比較します。
- StreetReportは、建物の面積と数を比較し、適切なレポートを提供します。
私は(私は:)学びたい)うまくいかなかったところ私に教えてください、それはそれを行うには正しい方法だ場合は私に知らせてくださいそうでない場合。
あなたのデザインが良いかどうかは、あなたのプロジェクトについてもっと知りません。たとえば、Javaでアルゴリズムを書く能力がテストされている学校の割り当てですか?どこからデータを取得していますか?実際のプロジェクトでは、おそらくすべてのデータをデータベースに保存し、クエリを使用して探しているデータを取得します。 – StriplingWarrior