摘要:
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> /**//// /// 关联加载适配对象 /// public class RelationLoadAdapter:IRelationLoad { IR... 阅读全文
摘要:
前几天构想过持久化组件关联对象加载的方式,经过一段时间的思考决定把构想方案实现出来;用于替换自己原有持久化组件的关联加载方式。为了使加载方式更灵活,于是采用接口方式来描述加载过程。采用接口的好处就是开发人员完全可以根据自己的需来制定加载的方式;如:实时加载、延时加载或两者结合。这次的实现主要是关联加载和关联删除,实现的原则就是尽量以插件的方式直入到原有持久化组件中,这样可以更好地保证原有功能正确性。原有组件在数据查询和删除时对关联处理上下文对象进行检测,根据开发人员的设置进行功能的切入执行。 阅读全文
摘要:
在数据持久化组件中关联对象加载是个比较困扰的问题,因为在实际应用中加载的情况还是比较多的;如即时加功、延时加载、加载父对象、加载子对象或加载指定关系类型的对象。用一个全局性的配置基本不可能适应多变的加载方式;即使固定到具体关系上也并不理想,因为根据业务处理不同加载的情况是有所变化的。就是因为加载的复杂性所以自己编写的持久组件中一直没有把关系加载处理表现出来(即使存在这功能,主要是使用上不灵活)。经过一段时间的思考发现一种比较理想的加载方式,加载方式是引入一个关系数据加载上下文对象,开发人员获取数据后对上下文对象进行设置加载方式即可实现自动关联加载;整个加载过程还是透明的只是需要开发员通过上下文对象指定加载的方式。
阅读全文
摘要:
ContextBoundObject一个很熟悉的对象,它提供对象有处理上下文的能力;通过它能够方便地实现AOP处理机制。它带来好处的同时也会带来效率上的损失,到底继承ContextBoundObject后会在效率上损失多少呢?下面用简单的代码测试一下;测试方法很简单就是建立两个具有相同方法的对象,一个继承于ContextBoundObject一个没有;然后分别循环次数地执行对象的创建... 阅读全文
摘要:
编写基于几个表的关联查询和统计的确是件烦琐的事情,由于基于字符的描述很多信息难以抽取出来共用,当其他地方需要这种情况的时候又必须重写。为了避免这情况SQL Artisan引用了视图对象,通过视图对象描述数据查询的信息;视图对象有一个最大的好处就是继承,可以从一个已经有的对象(实体对象或视图对象)继承下来扩展新的查询功能描述。实际应用中你可以建立一个基础统计视图对象,然后根据情况派生出具体的统计对象(如:根据不同信息分组,显示那些字段信息等). 阅读全文
摘要:
在之前的随笔里已经介绍过以条件驱动的方式来进行数据访问操作。SQL Artisan的目标并不是把SQL语句以对象的方式体现在.Net中,而是尽量以简单方便的操作方式来访问数据库。由于是以条件为主导因此在数据查询操作时是不需要明确操作的表对象(当条件为一个空条件时才需要指定操作表,当存在条件引用时组件内部会进行表引用创建),从而简化操作语句的编写;除了数据查询外SQL Artisan的条件对象还直接支持数据删除、修改和聚合统计等操作。以下主要通过例程来介绍以条件驱动的操作数据所带来的灵活和方便;为了体现以上好处所以和传统SQL操作方式进行不同情况的对比。 阅读全文
摘要:
在VS2005中竟然找不到ToolBar相关控件(不知道是自己大意没找到,还是没有提供这个控件);于是就花点时间自己写一个,当然控件并没有什么强大的功能,只是包括简单的服务端提交和脚本注册功能(对于ToolBar外观就交给的CSS描述)。 下载源码 阅读全文
摘要:
经过一段时间整合终于把平时开发的东西整成一套基于.NET的应用开发框架,框架主要包括以下几个部分:
HFSoft.DLL
共公类库包括:常用函数、数据绑定和对象属性动太调用等功能。
HFSoft.Data.DLL
数据持久组件,提供灵活的数据库访问操作。
HFSoft.BusinessLogic.DLL
业务逻辑基础组件,用于制定统一的业务逻辑处理规则,提供一些简单的业务逻辑规则模板。
HFSoft.Web.DLL
WEB应用的封装,包括一些简单的自定义控件和基于服务端的JavaScript处理。
在实际应用中可以根据需要选择相应的套件。后期会把HFSoft.Report(JavaScript调Excel进行Web报表输出)和HFSoft.Net(Socket的封装应用)也集成在框架中。
阅读全文
摘要:
数据输入和输出在开发过程占据不少的代码编写量。以往很多情况数据输入、输入验证和数据输出、格式控制都是分散编写,这样对于维护非常不方便;于是就想出编写一个控制器来解决这些问题,由控制器集中统一地完成数据绑定(双向)、数据验证和输出格式控制;这样可以减少代码的编写同时也方便代码的维护。 这一次集成是基于数据绑定的扩展实现(数据绑定组件实现),原有数据绑定已经包括数据绑定(双... 阅读全文