SmartBusinessDevFramework

简介

基于.net 4.0 开发的企业级系统框架

功能

1 自定义ORM。如果客官喜欢NHibernate EntityFramework ,并对其情有独钟的,您可以关闭此页面了。借鉴EF LINQ TO SQL ,鄙人反复研究其优缺点,最终提取了一个小不点。起名:MicrobeORM

2 三大交互程序:MVC 4 ,WCF ,WINFROM

基于MVC4  实现Web程序

WCF  作为数据分享接口

Winform客户端程序

3 代码共享

三大程序  基于业务代码的一致性。

4  IOC依赖注入

MVC WCF WINFROM 均实现使用Unity2.0进行依赖注册,实现功能模块的解耦。

5 AOP 切面编程

对系统中的异常  权限验证  缓存 使用基于切面AOP的属性模式,对访问对象进行保护。缓存数据管理。异常监视。

6 链式条件查询

基于Expression的链式条件筛选条件的更新  查询 修改 删除。废掉where 条件的拼接,和数据库表字段属性的不匹配。

7 T4 模板的代码生成

针对各个层次使用T4模板,进行业务代码的自动生成

8 Nunit的TDD模式的开发

实现各个层次的测试驱动模式的开发,模拟。对业务功能测试,模拟复杂的业务场景加快开发效率

9 RBAC 权限管理

基于角色权限的方式,实现用户操作的权限管理。结合AOP的切面拦截,实现对程序单元的更新  管理。

10 ServiceModelEx的扩展

对WCF服务的扩展管理,方便 管理开发基于WCF的服务接口开发,测试

11 基于 ADO.NET+LINQ TO SQL

实现单表+多表的复合查询,不在局限于视图+存储过程。

..............................附图一枚..............................

QQ   特洛伊-Micro

SmartBusinessDevFramework架构设计-1:结构简介的更多相关文章

  1. SmartBusinessDevFramework架构设计-2:结构图示

    架构设计一览图 下图表示了本架构的设计草稿. 接下来  ,我们将逐步细述,各个模块之间的松散耦合关系. 核心的实现原理.敬请关注.

  2. SmartBusinessDevFramework架构设计-3:考虑开源?

    掖着藏着,终归不是好的办法.说的跟花一样,究竟里子是什么东西.一个好的被子,里料是羽绒还是棉花还是丝绵还是黑心棉?有时候,真的是看过之后,才能体验其中的奥秘. 这个架构的设计初衷,总体是为了方便.ne ...

  3. 点菜网---Java开源生鲜电商平台-商品基础业务架构设计-商品分类(源码可下载)

    点菜网---Java开源生鲜电商平台-商品基础业务架构设计-商品分类 (源码可下载) 说明:我们搞过电商的人都可以体会到,搞生鲜电商是最复杂的,为什么复杂呢?我总结了有以下几个业务特性决定的: 1. ...

  4. MySQL性能调优与架构设计——第3章 MySQL存储引擎简介

    第3章 MySQL存储引擎简介 3.1 MySQL 存储引擎概述 MyISAM存储引擎是MySQL默认的存储引擎,也是目前MySQL使用最为广泛的存储引擎之一.他的前身就是我们在MySQL发展历程中所 ...

  5. .net架构设计读书笔记--第三章 第8节 域模型简介(Introducing Domain Model)

    一.数据--行为转变     很长的时间,典型的分析方法或多或少是以下两种,第一,收集需求并做一些分析,找出有关实体 (例如,客户. 订单. 产品) 和进程来实现. 第二,手持这种理解你尝试推断一个物 ...

  6. PHP实现微信随机红包算法和微信红包的架构设计简介

    微信红包的架构设计简介: 原文:https://www.zybuluo.com/yulin718/note/93148 @来源于QCon某高可用架构群整理,整理朱玉华. 背景:有某个朋友在朋友圈咨询微 ...

  7. PHP实现微信红包算法和微信红包的架构设计简介

    微信红包的架构设计简介: 原文:https://www.zybuluo.com/yulin718/note/93148 @来源于QCon某高可用架构群整理,整理朱玉华. 背景:有某个朋友在朋友圈咨询微 ...

  8. Atitit.数据库表的物理存储结构原理与架构设计与实践

    Atitit.数据库表的物理存储结构原理与架构设计与实践 1. Oracle和DB2数据库的存储模型如图: 1 1.1. 2. 表数据在块中的存储以及RowId信息3 2. 数据表的物理存储结构 自然 ...

  9. ABSD 基于架构的软件设计方法方法简介(摘抄)

    ABSD(Architecture-Based Software Design)基于架构的软件设计方法 有三个基础: 第一个基础是功能分解.在功能分解中,ABSD方法使用已有的基于模块的内聚和耦合技术 ...

随机推荐

  1. 判断客户端浏览器是否安装了Flash插件

    <script> /*检测浏览器是否安装了插件(在IE 中无效)*/ function hasPlugin(name){ name = name.toLowerCase(); for(va ...

  2. WINDOWS UPDAET

      相信各位或多或少都知道 Windows Update 功能,Windows 有了它就可以随时升级到最新的程序版本,同时对防止安全威胁也能起到很大的作用 在 Windows 7 中,安装完成首次运行 ...

  3. iOS UITextField 设置内边距

    [self.yourTextField setValue:[NSNumber numberWithInt:5] forKey:@"_paddingTop"]; [self.your ...

  4. [Javascript] Advanced Reduce: Additional Reducer Arguments

    Sometimes we need to turn arrays into new values in ways that can't be done purely by passing an acc ...

  5. [Redux] Store Methods: getState(), dispatch(), and subscribe()

    console.clear(); const counter = (state = 0, action) => { switch (action.type) { case 'INCREMENT' ...

  6. Android中如何像 360 一样优雅的杀死后台服务而不启动

    Android中,虽然有很多方法(API或者shell命令)杀死后台`service`,但是仍然有很多程序几秒内再次启动,导致无法真正的杀死.这里主要着重介绍如何像 360 一样杀死Android后台 ...

  7. Laravel No such file or directory in /bootstrap/autoload.php on line 17

    具体错误如下: Warning: require(../vendor/autoload.php) [function.require]: failed to open stream: No such ...

  8. 配置VSFTP服务器

    一.Linux FTP服务器分类:  <1>wu-ftp  <2>proftp=profession ftp  <3>vsftp=very security ftp ...

  9. Gamit的安装

    --2017-1-6修正 我这里用的是Gamit10.5,系统是Ubunt 14. 1:获取root权限(仅针对装好Ubunt后没有修改过root密码的用户,如果修改过密码,但是忘掉了,则请进入单用户 ...

  10. IO-序列化 Serializable Parcelable Object

    简介 1.什么是序列化和反序列化 对象的寿命通常随着生成该对象的程序的终止而终止,有时候,可能需要将对象的状态保存下来,在需要时再将对象恢复.我们把对象的这种,能记录自己的状态以便将来再生的能力,叫作 ...