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

项目的层次结构大体介绍了下,说些我对这个项目的想法。
项目不大,不复杂,但是作者的经验非常的丰富,对系统需求考虑的会比较多,非常值得借鉴。
学习本是一个由浅入深,由易到难的过程。而且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, 网摘, 收藏, 编辑
Weapsy分析四(Data层)
2012-06-16 14:05 by _风行, 111 visits, 网摘, 收藏, 编辑
Weapsy 分析三(Web层) 3 关于MVC3中一个表单多个按钮的处理方案
2012-05-19 21:31 by _风行, 520 visits, 网摘, 收藏, 编辑
Weapsy 分析三(Web层) 2 初始化
2012-05-19 13:02 by _风行, 212 visits, 网摘, 收藏, 编辑
Weapsy 分析三(Web层) 1 Global.asax
2012-05-13 18:17 by _风行, 212 visits, 网摘, 收藏, 编辑
Weapsy分析(二)项目分层
2012-05-01 12:22 by _风行, 245 visits, 网摘, 收藏, 编辑
Weapsy 分析(一)网站架构序续
2012-04-26 23:04 by _风行, 195 visits, 网摘, 收藏, 编辑
Weapsy 分析(一)网站架构
2012-04-26 22:20 by _风行, 225 visits, 网摘, 收藏, 编辑
Weapsy 分析网站架构的更多相关文章
- Flickr 网站架构分析
Flickr 网站架构分析 Flickr.com 是网上最受欢迎的照片共享网站之一,还记得那位给Windows Vista拍摄壁纸的Hamad Darwish吗?他就是将照片上传到Flickr,后而被 ...
- 各大型网站架构分析收集-原网址http://blog.csdn.net/lovingprince/article/details/3379710
1. PlentyOfFish 网站架构学习http://www.dbanotes.net/arch/plentyoffish_arch.html 采取 Windows 技术路线的 Web 2.0 站 ...
- 【转】LAMP网站架构方案分析【精辟】
[转]LAMP网站架构方案分析[精辟] http://www.cnblogs.com/mo-beifeng/archive/2011/09/13/2175197.html Xubuntu下LAMP环境 ...
- Twitter网站架构分析介绍
http://www.kaiyuanba.cn/html/1/131/147/7539.htm作为140个字的缔造者,twitter太简单了,又太复杂了,简单是因为仅仅用140个字居然使有几次世界性事 ...
- 【Hadoop离线基础总结】流量日志分析网站整体架构模块开发
目录 数据仓库设计 维度建模概述 维度建模的三种模式 本项目中数据仓库的设计 ETL开发 创建ODS层数据表 导入ODS层数据 生成ODS层明细宽表 统计分析开发 流量分析 受访分析 访客visit分 ...
- 分析http协议和高并发网站架构
案例任务名称 分析http协议和高并发网站架构 案例训练目标 深入理解http协议的工作原理 掌握http协议的分析方法 包含技能点 搭建web服务器 编辑简单的html页面并上传到服务器 使用wir ...
- LAMP网站架构分析
转自:http://www.williamlong.info/archives/1908.html LAMP(Linux-Apache-MySQL-PHP)网站架构是目前国际流行的Web框架,该框架包 ...
- LAMP网站架构方案分析
本文引自:http://www.williamlong.info/archives/1908.html LAMP(Linux-Apache-MySQL-PHP)网站架构是目前国际流行的Web框架,该框 ...
- 前端学HTTP之网站架构演化
前面的话 本文将详细介绍网站架构的演化过程 初始阶段 大型网站都是从小型网站发展而来,网站架构也是一样,是从小型网站架构逐步演化而来.小型网站最开始时没有太多人访问,只需要一台服务器就绰绰有余,这时的 ...
随机推荐
- HDU 5052 Yaoge’s maximum profit 光秃秃的树链拆分 2014 ACM/ICPC Asia Regional Shanghai Online
意甲冠军: 特定n小点的树权. 以下n每一行给出了正确的一点点来表达一个销售点每只鸡价格的格 以下n-1行给出了树的侧 以下Q操作 Q行 u, v, val 从u走v,程中能够买一个鸡腿,然后到后面卖 ...
- Eclipse扩展安装插件方式
Eclipse安装插件经常使用的是直接安装的方式,就是将插件中包含的plugins和features文件夹中的内容直接复制到了Eclipse的plugins和features文件夹内,这样很容易导致插 ...
- 基于Android的ELF PLT/GOT符号和重定向过程ELF Hook实现(by 低端农业代码 2014.10.27)
介绍 技术原因写这篇文章,有两种: 一个是在大多数在线叙述性说明发现PLT/GOT第二十符号重定向过程定向x86的,例<Redirecting functions in shared ELF l ...
- String.Split()功能
我们在过去的教训 String.Join功能(http://blog.csdn.net/zhvsby/archive/2008/11/28/3404704.aspx).当中用到了String.SPli ...
- 承诺c指针 (1)指针是地址
(1)是地址 首先明白一个观点:指针就是地址.这是理解指针的起始一步. 直观感受下.变量的地址 int main() { int foo; int *foo_p; foo = 5; foo_p = & ...
- 获取调用者Class和method、反射获取get方法、获取注解信息
调用者Class 及 method StackTraceElement stacks[] = Thread.currentThread().getStackTrace(); for (StackTra ...
- 从头开始学JavaScript (九)——执行环境和作用域
原文:从头开始学JavaScript (九)--执行环境和作用域 一.执行环境:定义了变量或者函数有权访问的其他数据,决定了它们各自的行为.每个执行环境都有与之关联的变量对象. 变量对象:保存着环境中 ...
- ASP.NET 5:依赖注入
ASP.NET 5:依赖注入 1.背景 如果某个具体的(或类)对象被客户程序所依赖,通常把它们抽象成抽象类或接口.简单说,客户程序摆脱所依赖的具体类型,称之为面向接口编程. 那么问题来了?如何选择客户 ...
- Node.js与MongoDB的基本连接示例
Node.js与MongoDB的基本连接示例 前提 已经安装了node.js和MongoDB,本文使用的node.js是v0.12.0,MongoDB是3.0.0. 初始化数据 启动MongoDB服务 ...
- The Swift Programming Language-官方教程精译Swift(4)字符串和字符
String 是一个有序的字符集合,例如 "hello, world", "albatross".Swift 字符串通过 String 类型来表示,也可以表示为 ...