首页 文章 精选 留言 我的

精选列表

搜索[asp.net],共1120篇文章
优秀的个人博客,低调大师

ASP.NET企业开发框架IsLine FrameWork系列之二--命名空间与契约

接上文 ILFW框架以最底层为基础,层层堆叠,上层一依赖于下层提供的服务,并实现其派发的接口,形成完整的FrameWork,不过由于时间原因,有些Provider之间的聚合偏高,例如AppLogProvider在使用数据库做为记录介质时,已经和DataProvider绑定,并不能使用第三方的数据引擎。 ILFW共有18个命名空间,分别管理着这些Provider的主要方法以及各种类库、接口,每个命名空间并非独立,正如上图表示的一样,所以如果你希望使用ILFW的某一个Provider,可能需要引入几个dll。 命名空间名称列表: 表 1.1 命名空间 ILFW将每一个Provider分为功能、枚举以及配置,每一个Provider都是遵从这个契约开发的,同时这也是命名空间的划分规则。 “功能”命名空间表示该Provider的主体完成任务,“功能”命名空间会包括接口、抽象类以及对这些抽象元素的实现,它是Provider的主体部分。 “枚举”命名空间表示Provider中所有用到的需要与用户交互的数据类型。 “配置”命名空间表示Provider需要配置文件支持的信息部分,Provider运行前,系统会自动加载相应的配置文件,并加载相关节点,将这些节点内的信息提供给“功能”模块进行处理。 图 1.2 命名空间结构 结合本人多年经验总结,将系统开发中重用较多的部分和团队协作开发时较难控制的部分,以面向对象方式封装,形成一套业务无关的底层架构(ILFW),ILFW具有如下优势: 三层结构分层明显,程序结构易懂,可扩展性强。 系统较核心的业务驱动层与ILFW皆采用面向对象原则设计,利用继承、多态等方式,结合接口,增强“驱动的可扩展性”,上层只需继承或实现相关类或接口,即可对现有底层方法进行扩展。 具有组件的模块化,灵活和重用性高。 由于ILFW分别面向数据、存储、安全进行抽象与封装,业务层面通过配置相关节点并调用方法的方式完成相关业务,所以这种方式增强业务层面的代码的简捷易懂性,降低了耦合,执行模块的功能或与模块交流信息只通过调用公有接口来实现 开发人员减轻重新建立解决复杂问题方案的负担和精力。 软件产品的后期运行维护是个巨大的工程,单纯从前期开发时间上考虑其开发效率是不理智的,也是不公平的。采用ILFW架构,则可提升开发效率,一些复杂的外围控制代码,之需要用简短的内部方法处理,对表现层的修改即使发生错误,也绝对不会将错误扩展到业务逻辑层,更不会影响持久层。 ILFW以Provider的方式提供给程序人员使用,不同的Provider代表不同的封装,可以完成不同的任务,同时各个Provider之间还会互相调用。 本文转自Aicken(李鸣)博客园博客,原文链接:http://www.cnblogs.com/isline/archive/2009/12/17/1626503.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

使用IsLine FrameWork开发ASP.NET程序之一——命名空间与契约概览

早就有想法写一个通用的底层框架了,毕竟平时的工作很多,使用第三方框架对项目适应度不会很满意,所以还不如自己抽时间写一套自己用着舒服的框架,于是花了几个月的时间完成了这个项目的开发,现在介绍给大家,相信这套框架一定会适合实际工作中的需要,并对开发效率有所提升。本系列的文章将分8部分为大家介绍一下这个项目和这些库文件的使用。 本系列文章要介绍的框架名字叫做IsLine FrameWork,你可以叫他“爱因斯坦”。它不是行业业务架构,但可以作为程序员开发项目的套件,使用这套底层套件开发系统,可以简化代码,提高代码质量。IsLine FrameWork主要包括DataProvider、AppLogProvider、ExceptionProcessProvider、HttpContentProvider、IsLineFrameWork、SecurityProvider、TaskQueueProvider 7个模块,共18个命名空间,分别管理着这些Provider的主要方法以及各种类库、接口。 表 1.1 命名空间名称列表 IsLine.AppLog.DataTypeEnum IsLine.AppLog.Configuration IsLine.AppLog.AppLogProvider IsLine.Data.DataTypeEnum IsLine.Data IsLine.Data.ContainerDefiner IsLine.Data.DataProvider IsLine.Data.Configuration IsLine.Security.Cryptography IsLine.Security.BaseFunction IsLine.ExceptionProcess.DataTypeEnum IsLine.ExceptionProcess.ExceptionProcessProvider IsLine.ExceptionProcess.Configuration IsLine.HttpContent.HCDataTypeEnum IsLine.HttpContent.HttpContentProvider IsLine.ILDateTime IsLine.Message.Mail IsLine.Provider.DataProvider IsLine FrameWork 的所有对外表现都是以Provider形式体现的,每一个Provider分为功能、枚举以及配置,每一个Provider都是遵从这个契约开发的,同时这也是命名空间的划分规则。 “功能”命名空间表示该Provider的主体完成任务,“功能”命名空间会包括接口、抽象类以及对这些抽象元素的实现,它是Provider的主体部分。 “枚举”命名空间表示Provider中所有用到的需要与用户交互的数据类型。 “配置”命名空间表示Provider需要配置文件支持的信息部分,Provider运行前,系统会自动加载相应的配置文件,并加载相关节点,将这些节点内的信息提供给“功能”模块进行处理。 现在先来简单说说各个Provider的作用。 1.DataProvider 与其他框架一样,DataProvider为项目提供了与数据库交互的能力,它的优点在这里不再阐述,这里只说一下它与其他框架的数据访问层不同的地方。 DataProvider同时兼容SQL SERVER与ORACLE两种数据库,并开放IDBOperater接口,用户只要实现IDBOperater接口工厂,就可以为DataProvider提供实例,从而实现使用第三种数据库,而无须修改数据库调用关键字。除此之外,DataProvider提供了静态访问与实例访问两种方式,针对不同的ADO.NET容器,用户可以选择不同的方式,而且提供统一的Dispose()方法,用户只需一次调用,即可关闭所有的Reader;而静态调用则不需对其做任何资源释放操作。静态访问与实例化访问是根据面向连接与非连接的工作方式区分的。 DataProvider还为用户提供了RecordProvider,通过它,用户可以方便 操作.config文件、文本文件、xml文件等。 DataProvider附带了数据容器选项:ContainerDefiner.cs,利用这个类的实例,用户可以直接调用各种ADO对象,并且容器对一些较大的数据对象进行缓存、压缩等优化,这些优化在存储时遵循“空间换时间”原则,在传输时遵循 “时间换空间”原则,前台业务性能会得到本质的提升! 2.AppLogProvider AppLogProvider为用户提供了强大的日志记录功能,用户可以为程序中的每个“日志实例”提供单独的配置,每种配置有可以有不同的“Render”,每种Render代表可以使用不同的“Appender”,由Appender决定日志实例的重要等级、记录介质、记录格式、布局等属性。这一切用户可以通过配置完成,不许更改任何代码。换句话说,如果你原来的系统日志全都记录在文本文件中,现在希望将日志记录至SQL或ORACLE数据库,那么你唯一要做的事情就是更改配置,如果你非要把日志输出至电视机,那么你需要实现AppLogProvider派发的IappLogProvider接口即可实现。 如果你用过Log4Net,那么AppLogProvider你一定会很熟悉,只是AppLogProvider提供了更加灵活的配置方式。 3.ExceptionProcessProvider ExceptionProcessProvider为用户提供异常控制功能,它主要分为异常记录与异常显示两个模块。 异常记录模块是基于AppLogProvider的,用户可以通过传递Exception实例达到记录异常的目的;同时ExceptionProcessProvider支持用户自定义异常模型,这个模型可以与整个软件模型一起建立,通过实体异常模型(须继承自Exception)处理事件,并实现ExceptionProcessProvider派发的接口,从而实现异常记录的功能。异常显示模块是指异常发生时,对用户展示的通知信息,这些通知的形式在ExceptionProcessProvider被分为10种,用户仅通过配置就可以实现在这10种Style之间切换。 4.HttpContentProvider HttpContentProvider为用户提供了Cookie、Session、Cache的访问方法,用户通过配置文件,就可以控制这些状态量的属性,例如Cookie作用域、滑动时间,Cache的依赖方式(仅SQL SERVER)等。用户通过这些方法,可以方便建立、查询、删除、更新这些状态量。 5.IsLineFrameWork IsLineFrameWork是整体IsLine架构的核心,在架构被加载之前,IsLine.dll会对整个架构进行配置,完成定制任务。 6.SecurityProvider SecurityProvider为用户提供了加密与解密、强加密与解密的方法。这些加密措施为加密配置文件中的密码提供依据。 7.TaskQueueProvider TaskQueueProvider是一个服务队列,用户可以用它来注册已有的服务,TaskQueueProvider将根据服务节点元素,返回实例供用户使用,从而搭建企业应用的“场”模型。 本文转自Aicken(李鸣)博客园博客,原文链接:http://www.cnblogs.com/isline/archive/2010/04/22/1717851.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

ASP.NET企业开发框架IsLine FrameWork系列之三--七种武器

接上文 IsLine FrameWork Provider介绍 其中IsLine.Data、IsLine.AppLog是我要重点介绍的,不过现在先来简单说说各个Provider的作用。 DataProvider 与其他框架一样,DataProvider为项目提供了与数据库交互的能力,它的优点在这里不再阐述,这里只说一下它与其他框架的数据访问层不同的地方。 DataProvider同时兼容SQL SERVER与ORACLE两种数据库,并开放IDBOperater接口,用户只要实现IDBOperater接口工厂,就可以为DataProvider提供实例,从而实现使用第三种数据库,而无须修改数据库调用关键字。除此之外,DataProvider提供了静态访问与实例访问两种方式,针对不同的ADO.NET容器,用户可以选择不同的方式,而且提供统一的Dispose()方法,用户只需一次调用,即可关闭所有的Reader;而静态调用则不需对其做任何资源释放操作。静态访问与实例化访问是根据面向连接与非连接的工作方式区分的。 DataProvider还为用户提供了RecordProvider,通过它,用户可以方便 操作.config文件、文本文件、xml文件等。 DataProvider附带了数据容器选项:ContainerDefiner.cs,利用这个类的实例,用户可以直接调用各种ADO对象,并且容器对一些较大的数据对象进行缓存、压缩等优化,这些优化在存储时遵循“空间换时间”原则,在传输时遵循 “时间换空间”原则,前台业务性能会得到本质的提升! AppLogProvider AppLogProvider为用户提供了强大的日志记录功能,用户可以为程序中的每个“日志实例”提供单独的配置,每种配置有可以有不同的“Render”,每种Render代表可以使用不同的“Appender”,由Appender决定日志实例的重要等级、记录介质、记录格式、布局等属性。这一切用户可以通过配置完成,不许更改任何代码。换句话说,如果你原来的系统日志全都记录在文本文件中,现在希望将日志记录至SQL或ORACLE数据库,那么你唯一要做的事情就是更改配置,如果你非要把日志输出至电视机,那么你需要实现AppLogProvider派发的IappLogProvider接口即可实现。 如果你用过Log4Net,那么AppLogProvider你一定会很熟悉,只是AppLogProvider提供了更加灵活的配置方式。 ExceptionProcessProvider ExceptionProcessProvider为用户提供异常控制功能,它主要分为异常记录与异常显示两个模块。 异常记录模块是基于AppLogProvider的,用户可以通过传递Exception实例达到记录异常的目的;同时ExceptionProcessProvider支持用户自定义异常模型,这个模型可以与整个软件模型一起建立,通过实体异常模型(须继承自Exception)处理事件,并实现ExceptionProcessProvider派发的接口,从而实现异常记录的功能。异常显示模块是指异常发生时,对用户展示的通知信息,这些通知的形式在ExceptionProcessProvider被分为10种,用户仅通过配置就可以实现在这10种Style之间切换。 HttpContentProvider HttpContentProvider为用户提供了Cookie、Session、Cache的访问方法,用户通过配置文件,就可以控制这些状态量的属性,例如Cookie作用域、滑动时间,Cache的依赖方式(仅SQL SERVER)等。用户通过这些方法,可以方便建立、查询、删除、更新这些状态量。 IsLineFrameWork IsLineFrameWork是整体IsLine架构的核心,在架构被加载之前,IsLine.dll会对整个架构进行配置,完成定制任务。 SecurityProvider SecurityProvider为用户提供了加密与解密、强加密与解密的方法。这些加密措施为加密配置文件中的密码提供依据。 TaskQueueProvider TaskQueueProvider是一个服务队列,用户可以用它来注册已有的服务,TaskQueueProvider将根据服务节点元素,返回实例供用户使用,从而搭建企业应用的“场”模型。(什么是企业应用场?请参考企业应用系统(场)构建方案(上)和企业应用系统(场)构建方案(下)两篇文章) 图3.3 项目组成示意图 这里重点说明一下DataProvider和AppLogProvider,因为本论文中大量的应用到这两个Provider。 本文转自Aicken(李鸣)博客园博客,原文链接:http://www.cnblogs.com/isline/archive/2009/12/18/1626862.html,如需转载请自行联系原作者

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

用户登录
用户注册