我有一个3人的.NET网上商店。多年来,我们开发了许多用于内容管理,博客,电子商务,社交网络等的工具。但是,我们从未真正模块化该软件;因此,从一个站点移植到另一个站点的功能是劳动密集型的(我们通常只是将代码和其他资产(如JS,CSS和图像)从模型站点复制并粘贴到目标站点。我们有一个提供大量共享功能的控件库,但由于无法将ASPX或ASCX文件编译到控件库,因此这些页面和控件通常只存在于每个网站中,并从一个站点复制并粘贴到下一个。
我们希望重新构建整个平台,以便更轻松地标准化和重用模块。理想情况下,我希望能够扫描包含模块所需内容的文件夹,并让目标网站识别它并在应用程序启动时注册它。
此外,我想保留我们目前的一些灵活性,以便可以轻松地为特定网站自定义模块的功能(而不仅仅是CSS和母版页)。方案可能包括向“联系人”模块添加自定义字段,或在博客评论表单上收集自定义信息。
最后,我希望能够在基本代码和每个网站的自定义之间划清界限,以便我们可以轻松地将现有网站升级到最新版本的核心软件,只需将核心代码添加到日期。我会看到每个网站项目中的核心代码(包括公共资源,代码和ASPX / ASCX文件),但是通过源代码控制同步。
现在,我可以清楚地看到我们如何自己构建和编码这些内容;但是,我想知道Web Client Software Factory (WCSF) pattern是否会给我们带来很多我们需要的东西。根据您使用WCSF的经验,您认为这对我在此描述的场景是否正确?从快速阅读来看,似乎它可以为模块化问题提供一个很好的解决方案,但是它不清楚它是否能提供一种定制模块的简单方法。
答案 0 :(得分:3)
你回答这个问题的最好方法是深入研究并尝试一下 - 这不是浪费时间,而是对研究的投入。与WCSF和传统架构进行一些并发开发,看哪个开发效果最好。