Address
基本的なアドレス プロパティを定義し、CRUD オブジェクトとして機能する基本クラスがあります。
- 名前
- 会社
- 住所1
- 住所2
- 住所 3 行目
- 街
- 州
- 郵便番号
- 国
Address を拡張し、さらに 2 つのプロパティを含む「ShipToAddress」クラスがあります。
- 電話番号
- 電子メールアドレス
Address
には、各プロパティの検証メソッドが含まれており、ShipToAddress
そのプロパティ (電話番号と電子メール アドレス) のみの検証が含まれています。
私の問題は、州と郵便番号に対して異なる検証方法を使用できるように、コードを複製することなく、これらの両方のクラスの米国と国際の両方の住所を考慮したいということです。USA State の検証により、値が 50 州のいずれかであることが保証されます。国際的な検証では、データベースで許可されている長さを超えないようにするだけです。
コードを複製せずに、さまざまな種類の住所 (米国、カナダなど) を許可するだけでなく、基本Address
クラスとクラスも持つように設計するにはどうすればよいでしょうか? ShipToAddress
私は基本的に次のことを望んでいます:
Address
基本クラスShipToAddress
USAAddress
USAShipToAddress
***Address
***ShipToAddress