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之网站架构演化
前面的话 本文将详细介绍网站架构的演化过程 初始阶段 大型网站都是从小型网站发展而来,网站架构也是一样,是从小型网站架构逐步演化而来.小型网站最开始时没有太多人访问,只需要一台服务器就绰绰有余,这时的 ...
随机推荐
- Java流
流是一组有顺序的,有起点和终点的字节集合,是对传输数据的总称或抽象.即数据在两设备间的传输称为流,流的本质是传输数据,依据传输数据特性将流抽象为各种类,方便更直观的进行数据操作. 流的分类: 数据类型 ...
- ServiceStack.Redis——Redis于.net向上client解
ServiceStack.Redis--Redis于.net向上client解 源代码和使用: https://github.com/ServiceStack/ServiceStack.Redis 样 ...
- oracle_修改连接数
修改Oracle最大连接数 1.查询Oracle会话的方法 select * from v$session 2.修改Oracle最大连接数的方法 a.以sysdba身份登陆PL/SQL ...
- Jenkins + robot framework自动发送邮件报告
一.Jenkins安装插件 进入系统管理—插件管理—可选插件下安装以下插件Email-ext plugin.Email-ext Template Plugin. 安装完如下: 二.系统设置 1.设置系 ...
- AlphaBlend參数BLENDFUNCTION
AlphaBlend是Window自带的GDI函数,在作GUI的时候为了达到更美丽的效果我们经常常使用它. BLENDFUNCTION是AlphaBlend用控制透明效果的重要參数. 定义例如以下: ...
- Swift编程语言学习12 ——实例方法(Instance Methods)和类型方法(Type Methods)
方法是与某些特定类型相关联的函数.类.结构体.枚举都能够定义实例方法:实例方法为给定类型的实例封装了详细的任务与功能.类.结构体.枚举也能够定义类型方法:类型方法与类型本身相关联.类型方法与 Obje ...
- jQuery选中该复选框来实现/全部取消/未选定/获得的选定值
<!DOCTYPE html> <html> <head> <script type="text/javascript" src=&quo ...
- C程序中引用自定义的C函数模块
原文:C程序中引用自定义的C函数模块 我们知道,刚开始接触C语言编程,一般都是在一个.c或者.cpp(以下只说.c)的文件中编写代码,其中一定会有一个入口函数, 也就是main()函数,你可以将程序代 ...
- 【iOS】Xib的使用与File'Owner总结
一.XIB的适用范围 xib(也叫Nib)与storyboard一样是用来描写叙述界面的. storyboard描写叙述的是比較大型的,大范围.适合描写叙述界面跳转等. 二.XIB的使用 Xib是小范 ...
- Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by
配置php网站的时候,经常会在页首出现Warning: session_start() [function.session-start]: Cannot send session cache limi ...