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具有如下优势:

  1. 三层结构分层明显,程序结构易懂,可扩展性强。

    系统较核心的业务驱动层与ILFW皆采用面向对象原则设计,利用继承、多态等方式,结合接口,增强“驱动的可扩展性”,上层只需继承或实现相关类或接口,即可对现有底层方法进行扩展。

  1. 具有组件的模块化,灵活和重用性高。

    由于ILFW分别面向数据、存储、安全进行抽象与封装,业务层面通过配置相关节点并调用方法的方式完成相关业务,所以这种方式增强业务层面的代码的简捷易懂性,降低了耦合,执行模块的功能或与模块交流信息只通过调用公有接口来实现

  1. 开发人员减轻重新建立解决复杂问题方案的负担和精力。

    软件产品的后期运行维护是个巨大的工程,单纯从前期开发时间上考虑其开发效率是不理智的,也是不公平的。采用ILFW架构,则可提升开发效率,一些复杂的外围控制代码,之需要用简短的内部方法处理,对表现层的修改即使发生错误,也绝对不会将错误扩展到业务逻辑层,更不会影响持久层。

    ILFW以Provider的方式提供给程序人员使用,不同的Provider代表不同的封装,可以完成不同的任务,同时各个Provider之间还会互相调用。


本文转自Aicken(李鸣)博客园博客,原文链接:http://www.cnblogs.com/isline/archive/2009/12/17/1626503.html,如需转载请自行联系原作者

相关文章
|
开发框架 JavaScript 前端开发
一个适用于 ASP.NET Core 的轻量级插件框架
一个适用于 ASP.NET Core 的轻量级插件框架
239 0
|
存储 开发框架 算法
ASP.NET Core 标识(Identity)框架系列(四):闲聊 JWT 的缺点,和一些解决思路
ASP.NET Core 标识(Identity)框架系列(四):闲聊 JWT 的缺点,和一些解决思路
276 1
|
开发框架 JSON .NET
ASP.NET Core 标识(Identity)框架系列(三):在 ASP.NET Core Web API 项目中使用标识(Identity)框架进行身份验证
ASP.NET Core 标识(Identity)框架系列(三):在 ASP.NET Core Web API 项目中使用标识(Identity)框架进行身份验证
297 1
|
存储 开发框架 JSON
ASP.NET Core 标识(Identity)框架系列(二):使用标识(Identity)框架生成 JWT Token
ASP.NET Core 标识(Identity)框架系列(二):使用标识(Identity)框架生成 JWT Token
238 0
|
开发框架 .NET 数据库连接
ASP.NET Core 标识(Identity)框架系列(一):如何使用 ASP.NET Core 标识(Identity)框架创建用户和角色?
ASP.NET Core 标识(Identity)框架系列(一):如何使用 ASP.NET Core 标识(Identity)框架创建用户和角色?
342 0
|
开发框架 .NET 数据库
asp.net企业费用报销管理信息系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio
asp.net 企业费用报销管理信息系统是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为vs2010,数据库为sqlserver2008,使 用c#语言开发 应用技术:asp.net c#+sqlserver 开发工具:vs2010 +sqlserver
283 0
|
编译器
.Net命名空间和程序集
我们都知道using有三个作用:·引入命名空间,创建别名,强制资源清理。这次对using 的“引入命名空间”的作用有了一点小疑问:命名空间和程序集有什么关系?
208 0
|
JSON 数据格式 Python
.NET6新东西--隐式命名空间引用
.NET6新东西--隐式命名空间引用
541 0
.NET6新东西--隐式命名空间引用
|
小程序 前端开发 数据安全/隐私保护
极简实用的Asp.NetCore框架再新增商城模块
新增加一个商城模块,主要包含商品管理(支持多个sku),商品分类,小程序用户,用户收获地址、订单各种状态的列表。
1085 0
极简实用的Asp.NetCore框架再新增商城模块
|
缓存 NoSQL 程序员
极简实用的Asp.NetCore模块化框架新增CMS模块
Asp.NetCore模块化框架新增CMS模块
263 0
极简实用的Asp.NetCore模块化框架新增CMS模块