Design patterns 适合多模块web应用的设计模式
我想知道处理多模块web应用程序的最佳设计模式 示例:-RESTWeb服务项目将处理不同类型的发送SMS的请求 请求的类型Design patterns 适合多模块web应用的设计模式,design-patterns,web-applications,Design Patterns,Web Applications,我想知道处理多模块web应用程序的最佳设计模式 示例:-RESTWeb服务项目将处理不同类型的发送SMS的请求 请求的类型 个人短信触发器 促销短信触发 交互式短信触发器 定时SMS触发器 有不同类型的SMS要发送,每种类型都有自己的业务逻辑要在触发SMS之前应用。 哪种设计模式适合处理它 请提供您的建议或链接,这将对我们的项目设计有很大帮助。老实说,如果这是您的应用程序的唯一范围,请保持简单,不要试图过度设计或不必要地实现多组设计模式 有不同类型的短信要发送,每种类型都有自己的 触发SMS之前
请提供您的建议或链接,这将对我们的项目设计有很大帮助。老实说,如果这是您的应用程序的唯一范围,请保持简单,不要试图过度设计或不必要地实现多组设计模式 有不同类型的短信要发送,每种类型都有自己的 触发SMS之前要应用的业务逻辑 您没有提到业务逻辑如何根据SMS类型而有所不同。因此,以最简单的形式,您可以这样开始:
public interface ISMSService
{
void Send();
}
// One class for each SMS type
public class IndividualSMS : ISMSService
{
public IndividualSMS(<paramters>) {
// <parameters> can be different based on SMS type
}
public void Send() {
// Implement SMS type specific logic
}
}
public class SMSManager {
private readonly ISMSService smsService;
// Inject ISMSService implementation from calling code
public SMSManager(ISMSService smsService) {
this.smsService = smsService;
}
public void SendSMS() {
this.smsService.Send();
}
}
// Client code
var individualSMS = new IndividualSMS(<parameters>); // Use DI container for resolving
var smsManager = new SMSManager(individualSMS);
公共接口ISMSService
{
无效发送();
}
//每种SMS类型一个类
公共类个人短信:ISMSService
{
公共个人短信(){
//可以根据SMS类型而有所不同
}
公共无效发送(){
//实现SMS类型特定逻辑
}
}
公共类SMSManager{
专用只读ISMSService SMSSService;
//从调用代码注入ISMSService实现
公共SMS管理器(ISMService smsService){
this.smsService=smsService;
}
公共无效发送SMS(){
this.smsService.Send();
}
}
//客户端代码
var individualSMS=新的individualSMS();//使用DI容器来解析
var smsmsmanager=新的smsmsmanager(individualSMS);