IRegistrationServiceと呼ばれるクライアント登録用のインターフェイスがあります。これにはRegisterという1つのメソッドが含まれており、RegistrationServiceクラスを介して実装されます。たとえば、Delete、Update、Retrieveのメソッドが必要な場合は、IDeletionService、IUpdateService、IRetrieveServiceなどのアクションごとに個別のインターフェイスを作成するか、すべてのメソッドをIRegistrationServiceに配置します。私がこれを尋ねる理由は、これがSOLIDの原則、特にSRPの原則が求めているように見えるからです。
1 に答える
2
単一責任の原則を述べる1つの方法は、クラスには変更する理由が1つだけあるべきであるということです。これは、必ずしも1つのことだけを行うことを意味するのではなく、1つの責任範囲のみを扱うことを意味します。
したがって、登録サービスが登録されている人についてすべて知っていることは問題ありません。その中に、登録の削除、更新、取得を含めます。登録プロセスが変更された場合(たとえば、すべての新規または更新されたユーザーに電子メールを送信することを決定した場合)、クラスが変更されます。ただし、登録電子メールの送信方法の実装の詳細は、このサービスに属していません。これは、クラスが変更される可能性がある2番目の理由です(たとえば、ローカルではなく外部SMTPサーバーを介して、または経由で電子メールを送信したい場合など)。電子メールではなくSMSなど)。
于 2010-09-15T21:04:00.950 に答える