个人觉得这个有点heavy,但却是在微软技术,开发上实践得很好的一个软件。最近更新也很快。
1。把原来使用的一些控件替换了
2。把文件上传的东西,修改了,不依赖adobe flash了
3。code first EF还在使用中:Code-First allows a developer to define entities in the source code (all core entities are defined in the Nop.Core project), and then use EF to generate the database from the C# classes
4。Ioc以及DI还是使用的,在大复杂可扩展的系统中,我始终认为这些是非常必要的。
5j解决方案的文件结构基本保持2.5时代
The Nop.Core project contains a set of core classes for nopCommerce, such as caching, events, helpers, and business objects (for example, Order and Customer entities).
核心基础类,包括常用帮助类,缓存实现,以及重要的业务对象类,比如订单,客户信息等
Nop.Data
数据访问类的集合,基本上根据Nop.core中的商业对象类,试用EF产生了对应的代码。其中:nopCommerces use a fluent code API to fully customize the persistence mapping。
Nop.Services===BAL::业务计算方面的代码
public PriceFormatter(IWorkContext workContext,
ICurrencyService currencyService,
ILocalizationService localizationService,
TaxSettings taxSettings)
{
this._workContext = workContext;
this._currencyService = currencyService;
this._localizationService = localizationService;
this._taxSettings = taxSettings;
}
代码的依赖应该是很少,技术方面不多,业务逻辑方面占比较多。。。。
\Plugins\ 解决方案目录,有用,但设计的方面很多,比如支付插件
Nop.Admin:发布时候要放到Administrative目录下的,项目本身不可作为ie启动项目
presentation layer for admin area. Physically this project is located under \Presentation\Nop.Web\Administration directory. This project cannot be run.
Nop.Web
Nop.Web.Framework is a class library project containing some common presentation things for both Nop.Admin and Nop.Web projects.
其实好多内容,包括了一些非商业逻辑方面的帮助类,甚至是htmlhleper的扩展。
现在test目录也加入了,如果自己有修改,可以参考现有测试项目,代码进行Unit test。
==== ====
Inversion of Control Containers and the Dependency Injection pattern
http://martinfowler.com/articles/injection.html
// // // //autofac go and replace structMap.
I have no idea what your requirements are, but I bet that Simple Injector can serve you for the lifetime of your project. If you're having trouble with it, just ask here at Stackoverflow.com or contact me directly. I or some of the other users will gladly help you. And don't forget that there are a bunch of users that can help you with general DI problems.
Of course I would like everybody to use Simple Injector, so please do :-P, but if you ask me which of the other containers I like most, it is Autofac. So it’s a pity, but no shame, if you go for Autofac :-)
基本步骤:
注册,控制器工厂,初始化
这些将要或可以被注入的对象/class实例 如何保存,有以下方法:
使用方式:(从某种意义来说,.net web开发,入伍好多年了)
Modify Global.asax protected void Application_Start() { RegisterRoutes(RouteTable.Routes); //Configure StructureMapConfiguration Bootstrapper.ConfigureStructureMap(); //Set current Controller factory as StructureMapControllerFactory ControllerBuilder.Current.SetControllerFactory( new myFinance.Web.Controllers.StructureMapControllerFactory() ); } The above code will set our controller factory and configure StructureMap configuration when our ASP.NET MVC application is started.