だが、私はこれがうまく機能している新しい順
class BookingMessager : IBookingMessager{
BookingMessager(IBookingDataSource source,IBookingMessageFactory messageFactory,IMessager messager){
this.source = source;
this.messageFactory= messageFactory;
this.messager = messager;
}
void SendBookingMessage(int idBooking){
Booking aBooking = source.GetById(idBooking);
BookingMessage aMessage = messageFactory.Create(aBooking);
messager.SendMessage(aBooking.Shop.Contact,aMessage.Title,aMessage.Content);
}
}
がある場合にはショップにメールを送信するため、このプロセスを持っているとしましょう...少しあいまいです。
新しい要件:ショップに応じてメッセージ本文を変更する必要があります。これらのソリューションについていえ
I:私はその
BookingMessage Create(Booking aBooking){
return this.BookingMessageFactoryIndex.ContainsKey(aBooking.Shop.ID) ? this.BookingMessageFactoryIndex[aBooking.Shop.ID].Create(aBooking) : this.default.Create(aBooking);
}
それともパラメータとしてIBookingMessageFactoryを注入し、それは私を強制しますのようなお店に応じて必要IBookingMessageFactoryと呼ぶことにしますIBookingMessageFactoryを作成私は、コンストラクタとパラメータ注入の間で選択するにはどうすればよい??OK、私の最初のコードは私のインターフェースIBookingMessager :(最善の解決策は何
を更新?
@ JesseC.Slicerできませんよ! –