作为一个例子(或并行),如果您决定与团队一起使用Dotnetnuke,您通常以下列方式工作:
>每个开发人员在他们的本地下载/安装Dotnetnuke
机.
>您还可以在专用服务器上下载/安装Dotnetnuke(比如说
DEV-服务器).
>作为开发人员,您可以工作并创建在本地测试的模块
在你的Dotnetnuke安装中.
>完成后,您打包模块(以及任何sql脚本)
附带您的模块)到一个zip文件.
>一旦包准备就绪,您就可以上传/安装该包
专用服务器(dev-server).
这种方法对Dotnetnuke很有用,更重要的是如果你有一个开发人员团队创建模块.
我的问题是团队如何与NopCommerce MVC合作?
我假设直接在源代码中工作是个坏主意,以防你的团队决定修改核心元素/来源,这将使任何升级到新版本都不可能(或中断更改).
我不确定我与Dotnetnuke的平行是否是正确的…但是任何人都有任何想法(或帮助我澄清)团队如何与NopCommerce MVC合作.
此外,团队是否应该仅依赖于为NopCommerce创建插件并远离修改核心或者这是不相关的?
如果最终NopCommerce MVC升级创建类似对象和/或覆盖它们,我们应该在我们的对象前添加前缀,如何在sql中添加新对象(或修改现有对象)?
感谢您帮助我阐明这一点.
诚挚
文斯
解决方法
我一直在为服务做的是创建一个新类并从现有服务继承,然后覆盖您想要更改的功能.创建一个新的DependencyRegistrar类,并将新的服务类设置为该特定接口的实现.还要确保Order属性为1,以便在库存之后加载DR类.由于您是从核心类继承的,因此您未覆盖的任何函数都将由父类处理.如果我需要添加一个新函数,我只是修改接口,在库存类中放置一个存根,并在我自己实现它.
Nop.Web项目中的视图可以被主题覆盖.管理员和Web控制器变得更加棘手.我只是直接修改这些文件.
Core和Data类可以使用partial类来添加新字段.
在任何情况下,您仍需要在发布更新时将更改与解决方案合并.我的观点是,你最好现在编写干净,可读的代码,并在它出现时咬合并子弹.
我现在并不担心sql脚本,因为我是单个开发人员,但也许您为ALTER脚本添加了一个文件夹,并在创建它们之后命名它们.然后每个开发人员都知道他们最新时需要运行哪些脚本.