Weapsy 分析网站架构

Weapsy 分析(一)网站架构

这个项目看了好久了,但是老没时间写一些分析心得。下班后想了想,事情也不能老拖着,还是得做。

Weapsy 分析网站架构

如图所示:Weapsy由5个项目所组成,有点可惜了,没有测试的项目,说明一些小的项目老外也不写啥测试,项目能Hold住测试都免了 ^_^。

核心层Core:主要由Cookie,Cache,Mail,AppSetting等一些公用的组件。除实体层外,它被所有的项目所引用。

数据层Data:负责一些基于CodeFirst的数据初始化,仓储,实体关联。

实体层Entities:定义整个实体层。

服务层Service:定义服务,展示层调用各种服务。

展示层Web:不解释了.

--------------------------------------------------------------------------------------------------------------------------------------

Entities不依赖任何层

Core依赖的层:Entities

Data依赖的层:Core,Entities(需要EntityFramework)

Service依赖的层:Core,Entities(需要EntityFramework)

Web依赖的层:Core,Entites,Service(需要EntityFramework)当然展示层还使用了多个开源项目不具体写了,来个图:

Weapsy 分析网站架构

项目的层次结构大体介绍了下,说些我对这个项目的想法。

项目不大,不复杂,但是作者的经验非常的丰富,对系统需求考虑的会比较多,非常值得借鉴。

学习本是一个由浅入深,由易到难的过程。而且IT学习需要非常多的时间,浪费很多时间去做一件意义不是

非常的大的事情,本身就是一个失败。

项目基于EF+CodeFirst+SQL2008,如何使用领域驱动进行开发,如何架构整个项目。虽然简单,但是透射出

很多观念。

值得学习的,最少我学习到的,以后做项目我会尽力去做:

Web中说清楚了项目的情况,每次变更的记录,第三方组件学习需要看的资料。事情不需要太复杂,做好就行了。

虽然有些介绍非常简单,但是我们可以通过版本控制去查看修改。如1.0 beta 2中可以去版本控制里面阅读具体的修改。

Weapsy 分析网站架构

Weapsy 分析网站架构

以Sat at 11:59的版本为例:点击7cbe8a08b97e进入变更集详细页面

Weapsy 分析网站架构

Weapsy 分析网站架构

看见没? edit代表了修改, View  diff 链接可以查看具体的改变。

Weapsy 分析网站架构

代码不是死看的 ,基础差的可以第一个版本看起,跟着作者的脚本一步步的进步。最最重要的有个明确的目标会比较轻松。

Weapsy 分析(一)网站架构序续

2012-04-26 23:04 by _风行, 194 阅读, 0 评论, 收藏编辑

好吧,这个不是我想写的,是老外逼我的,兄弟你更新项目的速度还真是快啊。。。

刚去下载了项目的最新版本,一看,哇塞,该有的都有了。。。

Weapsy 分析网站架构

测试的项目老外也拉上了,说明后期会写测试代码。另外还多出一个WebFramework的层。虽然现在没东西,但是我相信迟早会有的。

OK,最新的项目对我现在看的项目影响不大。1.0 RC (?? 03 2012) 
    - Upgrade to Entity Framework 4.3.1 
    - Added AutoMapper custom version (by nopCommerce Team) 
    - Deleted AppSettings.config file 
    - Added missed model properties and localization resources of Plugin Definitions 
    - Minor changes 
    - Fixed some bugs

所以还是看现在版本:Weapsy 1.0 Beta 2 - Source

Rating: No reviews yet

Downloads: 160

Change Set: 2e0bdd6ade2c

Released: Feb 28 2012

Updated: Feb 28 2012 by lucacb

Dev status: Beta Weapsy 分析网站架构

随笔分类 -Weapsy

Weapsy分析终

2012-06-16 14:17 by _风行, 181 visits, 网摘收藏编辑

摘要: 其实后面的内容已经没有多少了,服务层、实体层和核心层。 核心层涉及了这些概念: 1 缓 2 Cookie 3 仓储接口 4 邮件 5 任务 6 AppSetting 7 异常 8 图像处理 这层感觉想一个大杂烩,称呼其为Core 感觉不怎么好,我想AppCommon来的比较好(应用程序通用组件层)。 实体层: 这层就不介绍了,定义了概念模型。 服务层: 这层基于实...阅读全文

Weapsy分析四(Data层)

2012-06-16 14:05 by _风行, 111 visits, 网摘收藏编辑

摘要: 好久没写了,N多的加班,还得学习公司业务的知识,有点小悲催。虽然有加班费,但是总归有点累,而且关于领域模型中的概念有很多的力不从心,导致好久没怎么下笔。 最近充电了下,在次开始处理前期定下的目标。 Data层: 这个层作者定义了这些内容: 1 EF数据如何初始化 2 实体属性和数据库的映射 3 实体之间的关联 4 定义仓储 5 定义上下文环境context 这个层其实应该...阅读全文

Weapsy 分析三(Web层) 3 关于MVC3中一个表单多个按钮的处理方案

2012-05-19 21:31 by _风行, 520 visits, 网摘收藏编辑

摘要: 很多人在做MVC3的时候问过这样的问题:我在一个表单中有几个按钮,如何提交到不同的方法。 <% Html.BeginForm("MyAction", "MyController", FormMethod.Post); %><input type="submit" value="Send" /><input type="submit" value="Cancel" /><% Html.EndFor...阅读全文

Weapsy 分析三(Web层) 2 初始化

2012-05-19 13:02 by _风行, 212 visits, 网摘收藏编辑

摘要: Weapsy的初始化比较复杂,接口和实现类使用Ninject进行映射。Model和Entity使用AtuotMapper进行转换。 还有各种安装服务,所以单独看了下。 相关代码: Weapsy\Web\Framework\InjectionModule.cs --执行注入 Weapsy\Web\Models\AutoMapperStartupTask.cs --执行...阅读全文

Weapsy 分析三(Web层) 1 Global.asax

2012-05-13 18:17 by _风行, 212 visits, 网摘收藏编辑

摘要: 这个部分属于Weapsy的的展示层,里面涉及到很多的概念和技术. 概念:Entity,ViewModel,Task,MappingExtension,Framework,Install,Resource,Themes,Controller等。 技术:AutoMapper,Ninject。暂时主要用到这2个。外加一个Linq to Object的查询让我感觉到Linq真的很强大。 这个Li...阅读全文

Weapsy分析(二)项目分层

2012-05-01 12:22 by _风行, 245 visits, 网摘收藏编辑

摘要: 简单罗列下Weapsy项目几个层,它们分别是 1 Core 核心层 2 Data 数据层 3 Entites 实体层 4 Service 服务层 5 Web层 我想通过对DDD(领域模型)的典型层次来分析这个项目,看看这个项目在架构上有啥优点,说的不好的地方别丢砖就行了- - 首先看下比较公认的3层架构(希望看了后学习上不会有太大的曲线)和DDD的层次划分。(有空我会专门写几个...阅读全文

Weapsy 分析(一)网站架构序续

2012-04-26 23:04 by _风行, 195 visits, 网摘收藏编辑

摘要: 好吧,这个不是我想写的,是老外逼我的,兄弟你更新项目的速度还真是快啊。。。 刚去下载了项目的最新版本,一看,哇塞,该有的都有了。。。 测试的项目老外也拉上了,说明后期会写测试代码。另外还多出一个WebFramework的层。虽然现在没东西,但是我相信迟早会有的。 OK,最新的项目对我现在看的项目影响不大。1.0 RC (?? 03 2012) - Upgrade to Ent...阅读全文

Weapsy 分析(一)网站架构

2012-04-26 22:20 by _风行, 225 visits, 网摘收藏编辑

摘要: 这个项目看了好久了,但是老没时间写一些分析心得。下班后想了想,事情也不能老拖着,还是得做。 如图所示:Weapsy由5个项目所组成,有点可惜了,没有测试的项目,说明一些小的项目老外也不写啥测试,项目能Hold住测试都免了 ^_^。 核心层Core:主要由Cookie,Cache,Mail,AppSetting等一些公用的组件。除实体层外,它被所有的项目所引用。 数据层Data:负责一些基...阅读全文

Weapsy学习记录

2012-03-22 22:33 by _风行, 275 visits, 网摘收藏编辑

摘要: 最近在看一个基于CodeFirst-MVC3-EntityFramework的项目。 项目的地址是http://weapsy.codeplex.com/,虽然项目还没做多少,但是非常的适合学习,发起者是一个资深的软件架构师,他对EF的理解让我眼前一亮。 我会慢慢的记录下这个项目的学习心得。 第一部分: 关于一个IOC的工具,叫做Ninject.项目...阅读全文
上一篇:Git 入门:概念、原理、使用


下一篇:ios的一些知识点