WebサイトのRegisterクラスを作成したいと思います。これが私のユースケースです-
- ユーザーは登録用の電子メールIDとパスワードを提供します
- 電子メールIDがすでに存在する場合、Registerクラスは、この電子メールがシステムにすでに存在するというエラーメッセージを送信します
- 電子メールがシステムに存在しない場合、Registerクラスはユーザーの電子メールIDでアクティベーション電子メールを送信し、ユーザーに次のメッセージを表示します-1つのアクティベーション電子メールはすでにユーザーの電子メールに送信されています
これが私が考えたデザインです
Interface IRegister
{
string RegisterUser(string email, string password);
}
public class Register:IRegister
{
public string RegisterUser(string email, string password)
{
//Call IsUserExist and SentActivationEmail method internally
}
private bool IsUserExist()
{
}
private void SendActivationEmail()
{
}
}
単純なままにするために、IRegisterのIsUserExistメソッドとSendActivationEmailメソッドについては触れたくありません。次に、IsUserExistメソッドとSendActivationEmailメソッドを使用し、ユースケースで説明したすべての操作を実行する必要があるRegisterクラスを実装する開発者を強制する方法を説明します。そして、この設計はSRPの原則に違反していますか?