随笔分类 - Agile
项目开发在线文档
项目地址:https://gitee.com/luomingui/projects
摘要:1. 引言 事件总线这个概念对你来说可能很陌生,但提到观察者(发布-订阅)模式,你也许就很熟悉。事件总线是对发布-订阅模式的一种实现。它是一种集中式事件处理机制,允许不同的组件之间进行彼此通信而又不需要相互依赖,达到一种解耦的目的。 我们来看看事件总线的处理流程: 了解了事件总线的基本概念和处理流程
阅读全文
摘要:SocketBase类库主要是方便创建Socket客户端和Socket服务端的基础实现。 抽象基类:主要实现创建Socket 通用基类:指定了消息的解析规则,指定了数据转换的规则 的基本实现 设备读写基类: 服务器程序的基础类:包含了主动异步接收的方法实现和文件类异步读写的实现基类: 常用Socke
阅读全文
摘要:LCLFramework框架之数据门户职责 形成统一的数据访问方式。 LCLFramework框架之数据门户设计 数据门户分为客户端/服务端。 LCLFramework框架之数据门户职责 LCLFramework框架之数据门户设计 LCLFramework框架之数据门户设计代码 数据门户交互实现:
阅读全文
摘要:技术实现: 代码是否面向对象,要看你的继承怎么用 用抽象来展现层次感 用接口来制定操作的统一性 依赖住入(Inversion of Control) Unit of Work Repository Domain Model Service Layer Transaction Script Model
阅读全文
摘要:http://www.cnblogs.com/libingql/p/3353112.html protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Conventions.Remove<
阅读全文
摘要:问题描述: 解决办法: http://www.cnblogs.com/scy251147/p/3688844.html 原理: Attaching an entity of type '' failed because another entity of the same type already
阅读全文
摘要:问题描述: The type DbConnection cannot be constructed. You must configure the container to supply this value. 用户代码未处理 Microsoft.Practices.Unity.Resolution
阅读全文
摘要:Entity编写 1:所有的实体类都必须继承DomainEntity 2:所有的表都必须有 ID 3:所有表的关系字段必须是ID [Serializable] public class User: DomainEntity { //public string Name { set; get; } }
阅读全文
摘要:为了更高效的开发MVC项目,我们对控制器进行了在一次的封装,使得控制器能够获得很好的继承关系,并能以更少 的代码,实现Web项目的开发工作,整个控制器的设计思路如下所示。 从上图的设计里面可以看到,我把主要能通过抽象封装的CRUD方法都放到了RepoController类里面, 本文继续详细介绍这个Web框架控制器类的CRUD具体实现,以便使得大家了解整个Web开发框...
阅读全文
摘要:从 陈贞宝 博客中看到一个MVC模板感觉特别漂亮就尝试着分离出来,直接拿来用啦,直接拷贝到自己的常用的代码库里收藏起来,地址是http://www.cnblogs.com/baihmpgy/p/3817613.html 下图是该界面框架的样式。 要使用该界面框架,你可以通过以下地址来下载到界面框架的Visual Studio 2013模板。 模板下载地址:http://d...
阅读全文
摘要:插件应用架构概述 基于LCLFramework插件框架的应用由以下三个部分构成: (1)主程序:针对特定应用环境(Web、WinForm等应用环境),加载启动插件,获取插件入口,运行入口程序。 (2)插件:提供应用功能,实现对其它插件功能扩展并暴露功能扩展点。 (3)插件框架:与特定应用环境无关,实现插件功能组合与扩展。 主程序与插件的通讯 主程序可以通过插件...
阅读全文
摘要:Service模式介绍 领域中的一些概念不太适合建模为对象,即归类到实体对象或值对象,因为它们本质上就是一些操作,一些动作,而不是事物。这些操作或动作往往会涉及到多个领域对象,并且需要协调这些领域对象共同完成这个操作或动作。如果强行将这些操作职责分配给任何一个对象,则被分配的对象就是承担一些不该承担的职责,从而会导致对象的职责不明确很混乱。但是基于类的面向对象语言规定任何属性或行为都...
阅读全文
摘要:我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由N个对象组成的,所有的对象通过彼此的合作,最终实现系统的业务逻辑。 借助于“第三方”实现具有依赖关系的对象之间的解耦,如下图: LCLFramework框架之依赖注入(IOC)职责 依赖注入(Dependency Injection,简称DI) 依赖查找(Dependency Lookup) 控制反转 LCLFram...
阅读全文
摘要:插件应用架构概述 基于LCLFramework插件框架的应用由以下三个部分构成: (1)主程序:针对特定应用环境(Web、WinForm等应用环境),加载启动插件,获取插件入口,运行入口程序。 (2)插件:提供应用功能,实现对其它插件功能扩展并暴露功能扩展点。 (3)插件框架:与特定应用环境无关,实现插件功能组合与扩展。 主程序与插件的通讯 主程序可以通过...
阅读全文
摘要:使用开发框架的好处:
1.框架在技术上为软件系统提供了完整的模式实践
2.框架为团队提供了合理可行的软件开发过程模式
3.框架的应用大大提高了团队的开发效率,团队只需要关注与领域相关的业务实现,而无需关注具体的技术实现
4.框架的应用大大降低了出现缺陷(Bug)的几率,因为大多数支撑业务系统的代码都经过了严格的测试和实战的考验
5.框架的应用还为软件系统的整合与集成带来了便捷
阅读全文
摘要:Respository模式在示例中的实际目的小结一下 Repository模式是架构模式,在设计架构时,才有参考价值; Repository模式主要是封装数据查询和存储逻辑; Repository模式实际用途:更换、升级ORM 引擎,不影响业务逻辑; Repository模式能提高测试效率,单元测试时,用Mock对象代替实际的数据库存取,可以成倍地提高测试用例运行速度。 Reposi...
阅读全文