.net 架构选择小结

之前一直考虑一款云平台系统的结构,基本需求大概如下:
1)宏观功能层面:系统需要支持多家企业,每家企业一个独立账套,企业与企业之间无影响;
2)系统性能层面:希望不因为客户规模的扩展,而导致系统性能的不断降低;

考虑的可能得架构:
方式一:传统三层架构或MVC架构;
方式二:基于DDD的ABP架构;
方式三:基于devexpress XAF的架构。

方式一优缺点分析:
优点:系统各层面可选择性比较大,性能层面较好;
缺点:
1)开发工作量较大,验证、日志等等都需要自己完成;
2)后期维护量大;
3)模块的可复用性比较差;

方式二优缺点分析:
优点:
1)基于DDD思想开发,能够从业务角度关注问题;
2)拥有较多的现成功能可用;
3)模块化开发,很多模块将来可以复用;
缺点:
1)学习成本高;

方式三优缺点分析:
优点:
1)封装较好,dev已经提供了较多的现成模块;
缺点:
1)封装太多,用户的可操作性差;
2)用户可控性差;
3)样式过丑,看起来无吸引力。

你可能感兴趣的:(系统架构,c#)