摘要:
你的领域逻辑是否被UI前端绑架了?
你的领域逻辑是否被Asp.net的Session、Cookie、Cache等东东绑架?
你的领域逻辑是否被MVC或者WebApi的什么什么ActionResult.ControllerContext,ControllerBase,ApiController 等绑架?
你的领域逻辑是否被WCF的数据契约、服务契约、操作契约以及繁琐的ABC配置所绑架?
你的领域逻辑是否被WebService、Remoting等分布式架构所绑架?
你的领域逻辑是否被Ado.net 所绑架(强类型的SqlConnection等)?
你的领域逻辑是否被ORM所绑架(如EF、NHibernate等)?
你的领域逻辑是否被不支持多数据库所绑架?
你的领域逻辑是否很难支持多谢分离?
没有裸奔的领域逻辑是否该甩掉包袱开始裸奔呢? 阅读全文
摘要:
最近在使用docker 构建centos7 容器时,发现无法使用systemctl 命令。后来万能的百度解决了问题,随记之以备后用。 解决办法: 验证方法: 阅读全文
摘要:
上周五部门开会讨论新一代产品(基于.net Winform)的设计规范,从设计规范慢慢讨论到体系结构等架构存在的问题,诸如菜单、工具条、状态条、界面布局等不能实现配置化和自动化,子系统之间拥有强依赖,甚至产生强依赖等等,最后我提出通过OSGi 框架来解决界面和模块之间的问题,并立下军令状一周内把核心框架Beta搭建完毕,第二周进行一次培训。 基于项目的特点,结合贞宝兄的OSGi.Net 和Mono.Addins 进行了重新诠释,在两天半的时间里通过Mono.Addins 和NLite 的依赖注入容器相结合实现了诠释后的OSGi规范,再这里首先感谢贞宝兄在OSGi规范的布道和推广工作,其次要.. 阅读全文
摘要:
菜阿斌以前写了两篇很好的文章:为什么要让我们的“领域模型”裸奔?(上),(下),在我的 架构视角面面观中也介绍了领域逻辑经常被Web 组件Api、分布组件Api、ORM组件API、ADO API 等污染,上面的几篇文章讲了领域裸奔的重要性、以及常见项目中的领域被污染的问题,关于如何解决该问题, 网上关于这方面的介绍倒很少。本篇将介绍如何让我们的领域逻辑不被Web组件、分布组件所污染,解决该问题的主角将是NLite.WebAPI 组件,下面就让它登场吧。 NLite WebApi NLite web api 是基于NLite.Web和 Ndf的服务分发器引擎,并借助Asp.net 的ht... 阅读全文
摘要:
NLite Web 组件的特点支持泛型Page支持Ndf内核的WebApi支持页面的DI、用户组件的DI注入支持Web页面方法的自动路由支持HttpListener,通过HttpListener自动扩展HttpModule拥有灵活强大的性能监视接口:监视Web页面,监视Ndf服务分发器,监视Nlite WebApiChange log for NLite.WebNUI 0.3(2013/2/20)基于http://nui.codeplex.com/SourceControl/changeset/100290版本1. 更新NLite.web依赖的组件2. 添加强签名支持3. 设置版本号 0.3 阅读全文
摘要:
NLite Domain Framework 简称NDF, 是一个轻量级的服务分发器框架,该框架以业务逻辑的高内聚,高复用性,高松耦合和便捷的可测试性为宗旨,支持嵌入式和分布式部署, 支持Asp.net Mvc,WebForm, Winform等,以NLite组件为基础, 支持服务别名,方法别名,方法重载,方法参数的自动绑定,校验功能和Filter等扩展功能。NDF和Asp.net MVC进行了深度整合,NDF继承了Asp.netMVC强大的视图引擎,采用桥梁模式把MVC的ActionResult和服务结果的NavigationResult进行了很好的桥接,并扩展了MVC的控制器和控制器工厂, 阅读全文
摘要:
关于代码生成器的文章网上已经多的不能太多了,在6年前我写过两篇文章介绍代码生成器的,一篇主要代码生成器的7种模型架构设计思想:也谈代码生成器,另外一篇再谈代码生成器介绍了基于其中一种模型架构的实践文章,现在回顾一下6年前的文章拿到现在其设计思想也从不过时,呵呵自大了。好了废话不多说,今天给大家分享一下利用ELinq内置的数据库元数据模型和T4 模版引擎制作多文件实体代码生成器。(ELinq:是一个轻量简单易用的开源Linq ORM数据访问组件,支持Nullable类型和枚举类型,支持根据实体类自动建库建表建关系,支持根据数据库通过T4模版自动生成实体代码,对Linq 的谓词提供了完美的支持.. 阅读全文
摘要:
ORM组件 ELinq (五) -映射配置之XML上节介绍了基于FluentAPI的映射配置方式,本节我们将亲自动手,一步一步搭建ELinq的XML映射程序来。备注我使用的开发环境:VS2010,Nuget 包管理器,SqlCe3.51.获取ELinq从Nuget 控制台下载安装ELinq:install-package ELinq,安装成功后,VS的项目就自动引用了ELinq.dll,并且自动添加了ELinq.xsd (xml mapping 的Schema 文件)、Northwind.cs和Northwind.Mapping.xml 等Demo文件,由于第一次使用,所以把Northwind 阅读全文
摘要:
上篇介绍了基于Attribute的ELinq映射配置方式,本篇将给大家介绍基于FluentAPI的映射配置方式。 该篇仍然以Northwind数据库的Customers表和Orders 表为例,客户和订单是一对多关系。 1. Customer和Order的实体类 public class Customer { public string Id; public string ContactName; public string CompanyName; public string City; public ... 阅读全文
摘要:
ELinq 发布后,由于公司的项目比较忙,就没有时间进行撰写博文进行介绍,望大家见谅,现在元旦了该抽时间把ELinq的系列补充补充,该篇介绍Attribute的映射配置。 Attribute的映射配置方式和LinqToSQL的配置方式类似,不用太多的笔墨进行介绍每个Attribute的含义,直接用代码说话。 (以Northwind数据库的Customers表和Orders 表为例,客户和订单是一对多关系为例) [Table(Name = "Customers")] public class Customer { [Id(Name="CustomerId" 阅读全文
摘要:
Change log for NLiteNLite 0.9.5.7(2013/2/11)基于http://nlite.codeplex.com/SourceControl/changeset/100168版本1. 支持强密钥2. 支持.NET 453. 支持Mono环境4. 版本号升级到0.9.5.7NLite 0.9.5.5(2012/12/30)基于http://nlite.codeplex.com/SourceControl/changeset/98939版本1. 修复获取枚举类型缺省值的Bug2. 优化DataReader到List的性能3. 支持DataReader到动态类型的转换4 阅读全文