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)当然展示层还使用了多个开源项目不具体写了,来个图:

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

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

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

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

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

很多观念。

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

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

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

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

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

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

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

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

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

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

测试的项目老外也拉上了,说明后期会写测试代码。另外还多出一个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分析终

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.项目...阅读全文

Weapsy 分析网站架构的更多相关文章

  1. Flickr 网站架构分析

    Flickr 网站架构分析 Flickr.com 是网上最受欢迎的照片共享网站之一,还记得那位给Windows Vista拍摄壁纸的Hamad Darwish吗?他就是将照片上传到Flickr,后而被 ...

  2. 各大型网站架构分析收集-原网址http://blog.csdn.net/lovingprince/article/details/3379710

    1. PlentyOfFish 网站架构学习http://www.dbanotes.net/arch/plentyoffish_arch.html 采取 Windows 技术路线的 Web 2.0 站 ...

  3. 【转】LAMP网站架构方案分析【精辟】

    [转]LAMP网站架构方案分析[精辟] http://www.cnblogs.com/mo-beifeng/archive/2011/09/13/2175197.html Xubuntu下LAMP环境 ...

  4. Twitter网站架构分析介绍

    http://www.kaiyuanba.cn/html/1/131/147/7539.htm作为140个字的缔造者,twitter太简单了,又太复杂了,简单是因为仅仅用140个字居然使有几次世界性事 ...

  5. 【Hadoop离线基础总结】流量日志分析网站整体架构模块开发

    目录 数据仓库设计 维度建模概述 维度建模的三种模式 本项目中数据仓库的设计 ETL开发 创建ODS层数据表 导入ODS层数据 生成ODS层明细宽表 统计分析开发 流量分析 受访分析 访客visit分 ...

  6. 分析http协议和高并发网站架构

    案例任务名称 分析http协议和高并发网站架构 案例训练目标 深入理解http协议的工作原理 掌握http协议的分析方法 包含技能点 搭建web服务器 编辑简单的html页面并上传到服务器 使用wir ...

  7. LAMP网站架构分析

    转自:http://www.williamlong.info/archives/1908.html LAMP(Linux-Apache-MySQL-PHP)网站架构是目前国际流行的Web框架,该框架包 ...

  8. LAMP网站架构方案分析

    本文引自:http://www.williamlong.info/archives/1908.html LAMP(Linux-Apache-MySQL-PHP)网站架构是目前国际流行的Web框架,该框 ...

  9. 前端学HTTP之网站架构演化

    前面的话 本文将详细介绍网站架构的演化过程 初始阶段 大型网站都是从小型网站发展而来,网站架构也是一样,是从小型网站架构逐步演化而来.小型网站最开始时没有太多人访问,只需要一台服务器就绰绰有余,这时的 ...

随机推荐

  1. hdu1588---Gauss Fibonacci(矩阵,线性复发)

    根据题意:最后一步是寻求f(b) + f(k + b) + f(2 * k + b) + -+ f((n-1) * k + b) 清除f(b) = A^b 间A = 1 1 1 0 所以sum(n - ...

  2. PYTHON单元测试

    PYTHON开发入门与实战11-单元测试 1. 单元测试 本章节我们来讲讲django工程中如何实现单元测试,单元测试如何编写以及在可持续项目中单元测试的重要性. 下面是单元测试的定义: 单元测试是开 ...

  3. [Shell]输入參数

    获取shell脚本的输入參数,而且推断得到的參数. #!/bin/bash #title: testPT.sh #atuhor: orangleliu #date: 2014-08-08 #desc: ...

  4. 汉字转拼音 oracle方式 [转]

    oracle汉字转拼音(获得全拼/拼音首字母/拼音截取等)   效果如下: Oracle 字符集 GBK 没有问题 , UTF -8 需要修改一下   Sql代码   --oracle汉字转拼音 PA ...

  5. crawler_URL编码原理详解

    经常写爬虫的童鞋,难免要处理含有中文的url,大部分时间,都知道url_encode,各个语言也都有支持,今天简单整理下原理,供大家科普 1.特征: 如果URL中含有非ASCII字符的话, 浏览器会对 ...

  6. 【高德地图API】从零开始学高德JS API(六)——坐标转换

    原文:[高德地图API]从零开始学高德JS API(六)——坐标转换 摘要:如何从GPS转到谷歌?如何从百度转到高德?这些都是小case.我们还提供,如何将基站cell_id转换为GPS坐标? --- ...

  7. BZOJ 3282 Tree Link-Cut-Tree(LCT)

    题目大意: 给定N个点以及每一个点的权值,要你处理接下来的M个操作.操作有4种.操作从0到3编号.点从1到N编号. 0:后接两个整数(x,y),代表询问从x到y的路径上的点的权值的xor和.保证x到y ...

  8. HDU 4791 &amp; ZOJ 3726 Alice&#39;s Print Service (数学 打表)

    题目链接: HDU:http://acm.hdu.edu.cn/showproblem.php?pid=4791 ZJU:http://acm.zju.edu.cn/onlinejudge/showP ...

  9. vs.net 2013 Saffolding功能扩展

    vs.net 2013 Saffolding功能扩展 Asp.net mvc 5 CRUD代码自动生成工具 -Visual Studio.net2013 Saffolding功能扩展 上次做过一个&l ...

  10. Android4.3引入的UiAutomation新框架官方简介

    译者序:Google在Android 4.3发布时提供了一套新的UiAutomation框架来支持用户界面自动化测试,该框架通过运用已有的Accessibility APIs来模拟用户跟设备用户界面的 ...