-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
現状の UserName 型はユニークで、かつ存在するユーザー名を表すオブジェクトという感じの意味合いになっているように思える。だから、以下のように UserName::new validate_user_name 内でしか呼び出してはいけないというルールになっている。
impl UserName {
pub fn as_str(&self) -> &str {
&self.inner
}
/// UserNameを新しく作成する
/// 必ず一意の名前を指定する必要があります
/// UserRepositoryのvalidate_user_nameメソッドのみで使用されます
pub fn new(name: String) -> Self {
UserName { inner: name }
}
}でも、ユーザーがユニークなユーザー名を持つ必要はあっても、 UserName がユニークである必要はないし、簡単に Clone 出来るので、 UserName がユニークであるという保証は出来ない。
以上のように UserName は「ユニークでである」というルールは実現が難しそうだし、そもそも実現する必要はない気がするので廃止を提案する。
それに伴い
UserName::newはvalidate_user_nameからしか呼び出してはならないというルールの廃止UserRepository::validiate_user_nameの廃止
を行う
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels