2 つの異なる一連のビジネス ルール要件を使用してユーザー オブジェクトを検証する最善の方法は何ですか? ドメイン オブジェクトを永続化レイヤーに保存するためにデータマッパー パターンを使用しています。
例: 1. クライアント A は、ユーザー オブジェクトが有効で永続層に保存できるようにするために、名前のみが存在する必要があります。
クライアント B は、ユーザー オブジェクトが有効であると見なされるために、名前と少なくとも 1 つの趣味がユーザー オブジェクトに存在する必要があります。
クライアント A は後で、ユーザー オブジェクトを有効にするために電話番号が必要であると判断します。
ルールが変更される可能性のあるドメイン オブジェクトにこれらの動的なビジネス ルールを実装するための適切なパターンはありますか?
<?php
class User{
private $_name;
private $_telephone;
private $_hobbies = array();
public __construct(){
}
public function setName($strName){
$this->_name = $strName;
}
//Other getter and setter.....
}
class UserMapper{
public __construct(){
}
public function save(user $objUser){
//preform mapper save operations to persistence layer(db, file, etc)
}
}
//instantiate the user mapper class
$objUserMapper = new userMapper();
//instantiate the user domain class
$objUser = new User();
$objUser->setName('John Hancock');
//save the user to the persistence layer
$objUser->save($objUser);
?>