业务接口+UI层的设计(基于Castle实现的Repository) Repository层设计的文章见:[http://www.cnblogs.com/yomho/p/3297042.html]   一.概要设计 上面Reposity 应该为 Repository 特此更正,也不打算作图更正了.   二.业务Server层 业务层Server是承Repository层,启UI层的重要层, UI层的数据和Repository层的数据传递必须经过它 业务层的扩展非常必要 所以采用IServer<T…
Repository层设计的文章见:[http://www.cnblogs.com/yomho/p/3297042.html]   一.概要设计 上面Reposity 应该为 Repository 特此更正,也不打算作图更正了.   二.业务Server层 业务层Server是承Repository层,启UI层的重要层, UI层的数据和Repository层的数据传递必须经过它 业务层的扩展非常必要 所以采用IServer<TEntity>的设计方式 接口设计如下: namespace Yom…
经过了上篇IRepository和IRepository<T>的讨论[文章地址为:http://www.cnblogs.com/yomho/p/3296759.html] 我选择了IRepository作为我重构框架的仓储接口 一.接口定义   新的IRepository接口设计如下: namespace Yom.NFramework2_0 { public interface IRepository<TCompositeKey> where TCompositeKey : IEq…
接口隔离原则的英文是Interface Segregation Principle,缩写就是ISP.与里氏替换原则一样其定义同样有两种 定义1: Clients should not be forced to depend upon interfaces that they don'tuse. (客户端被强迫不应该依赖它不需要的接口.) 定义2: The dependency of one class to another one should depend on the smallest po…
前言                                                                                                                  对于仓储Repository的设计,其实很多人都很纠结,因为从广义来说,Repository有两种类型: IRepository和IRepository<T> 框架的重构想得最多的最重要的几个问题: 1:解耦(每层可以替换其他的,比如换一个UI层可以把Web 项目快…
目       录 第九章           插件引擎设计... 2 9.1           框架的契约-接口... 2 9.2           插件的雏形-抽象类... 3 9.3           实现接口... 4 9.4           反射机制... 5 9.5           反射工具类... 8 9.6           小结... 9 第九章     插件引擎设计 在介绍<第10章 宿主程序详细设计>之前对接口和插件的相关内容进行一下整体介绍,在设计宿主程…
目       录 第七章           外部接口的设计... 2 7.1           插件接口... 2 7.2           图形显示接口... 3 7.3           数据导出接口... 5 7.4           服务组件接口... 6 7.5           插件管理器... 8 7.6           框架整合.重构... 9 7.7           小结... 10 第七章     外部接口的设计 开发者不仅可以二次开发设备驱动,还可以二…
目       录 第六章           通讯控制器的设计... 2 6.1           控制器接口... 2 6.2           串口控制器... 3 6.3           网络控制器... 5 6.4           通讯控制管理器... 9 6.5           远程交互... 9 6.6           小结... 10 第六章     通讯控制器的设计 经过前几章的介绍,这章介绍通讯控制器.主要负责对设备驱动(IRunDevice).IO通道(…
OSharp是什么? OSharp是个快速开发框架,但不是一个大而全的包罗万象的框架,严格的说,OSharp中什么都没有实现.与其他大而全的框架最大的不同点,就是OSharp只做抽象封装,不做实现.依赖注入.ORM.对象映射.日志.缓存等等功能,都只定义了一套最基础最通用的抽象封装,提供了一套统一的API.约定与规则,并定义了部分执行流程,主要是让项目在一定的规范下进行开发.所有的功能实现端,都是通过现有的成熟的第三方组件来实现的,除了EntityFramework之外,所有的第三方实现都可以轻…
阅读目录: 1.开篇介绍 2.尽量使用Lambda匿名函数调用代替反射调用(走进声明式设计) 3.被忽视的特性(Attribute)设计方式 4.扩展方法让你的对象如虎添翼(要学会使用扩展方法的设计思想) 5.别怕Static属性(很多人都怕Static在Service模式下的设计,其实要学会使用线程本地存储(ThreadStatic)) 6.泛型的协变与逆变(设计架构接口(Interface)时要时刻注意对象的协变.逆变) 7.使用泛型的类型推断(还在为参数类型烦恼吗) 8.链式编程(设计符合…