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. 设计模式C++实现_1_Singleton设计模式(简单的实现)

    Singleton设计模式 思路如以下: Single.h #pragma once #include <iostream> #include <string> using n ...

  2. My97DatePicker日历控件日报、每周和每月的选择

    My97DatePicker日历控件日报.每周和每月的选择 1.设计源代码 <%@ page language="java" import="java.util.* ...

  3. mongodb迁移

    A机器上有mongodb服务,A机器要废,于是迁至B. 简单起见,依旧是在A上ps auxwww|grep mongo找到正在执行的进程: /home/admin/mongodb/mongodb-li ...

  4. Eclipse:引用一个项目作为库(图文教程)

    前言:工程TestRoid要引用Volley项目作为一个库 过程,如下面: 一:选择导入Android工程 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc ...

  5. java 不寻常的问题 No bean named &#39;sessionFactory&#39; is defined 和 initialize a collection of role

    左右java的"No bean named 'sessionFactory' is defined "  现在经常出去SHH或在其框架内Sping+JPA使用底部HIbernate ...

  6. Sharepoint 2013 左右&quot;SPChange&quot;一个简短的引论

    于SharePoint于,我们经常需要获得这些更改项目,竟api为我们提供SPChange物.下列,在通过我们的目录资料这一目标. 1.创建测试列表,名字叫做"SPChangeItems&q ...

  7. hdu 新生晚会

    Problem Description 开学了,杭电又迎来了好多新生.ACMer想为新生准备一个节目.来报名要表演节目的人很多,多达N个,但是只需要从这N个人中选M个就够了,一共有多少种选择方法?   ...

  8. WebService返回DataTable问题

    今天做项目时,想在WebService中返回DataTable,在单位没成功,看网上有人说datable在.net1.1中是没有序列化的,不能直接在webservice中返回,可以返回dataset. ...

  9. 从头开始学JavaScript (四)——操作符

    原文:从头开始学JavaScript (四)--操作符 一.一元操作符 1.自增自减操作符:分为前置型和后置型: 前置型:++a;--a; 后置型:a++;a--; 例: <script typ ...

  10. Swift语言指南(一)--语言基础之常量和变量

    原文:Swift语言指南(一)--语言基础之常量和变量 Swift 是开发 iOS 及 OS X 应用的一门新编程语言,然而,它的开发体验与 C 或 Objective-C 有很多相似之处. Swif ...