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,如需转载请自行联系原作者

相关文章
|
人工智能 芯片
D1net阅闻|OpenAI员工疯狂暗示,内部已成功开发ASI?被曝训出GPT-5但雪藏
D1net阅闻|OpenAI员工疯狂暗示,内部已成功开发ASI?被曝训出GPT-5但雪藏
|
C# Android开发 iOS开发
2025年全面的.NET跨平台应用框架推荐
2025年全面的.NET跨平台应用框架推荐
911 23
|
消息中间件 开发框架 监控
NET任务调度框架Hangfire使用指南
Hangfire 是一个用于 .NET 应用程序的开源任务调度框架,支持长时间运行任务、定时任务等。通过简单的安装配置,即可将任务从主线程分离,提升应用性能。支持多种数据库,提供丰富的任务类型如立即执行、延迟执行和周期性任务,并有可视化管理界面 Hangfire Dashboard。还支持安全性配置及扩展插件,如 Hangfire.HttpJob,适合各种复杂场景下的任务调度需求。
1779 1
NET任务调度框架Hangfire使用指南
|
SQL 小程序 API
如何运用C#.NET技术快速开发一套掌上医院系统?
本方案基于C#.NET技术快速构建掌上医院系统,结合模块化开发理念与医院信息化需求。核心功能涵盖用户端的预约挂号、在线问诊、报告查询等,以及管理端的排班管理和数据统计。采用.NET Core Web API与uni-app实现前后端分离,支持跨平台小程序开发。数据库选用SQL Server 2012,并通过读写分离与索引优化提升性能。部署方案包括Windows Server与负载均衡设计,确保高可用性。同时针对API差异、数据库老化及高并发等问题制定应对措施,保障系统稳定运行。推荐使用Postman、Redgate等工具辅助开发,提升效率与质量。
689 0
|
缓存 算法 安全
精选10款C#/.NET开发必备类库(含使用教程),工作效率提升利器!
精选10款C#/.NET开发必备类库(含使用教程),工作效率提升利器!
814 12
|
Linux API C#
基于 .NET 开发的多功能流媒体管理控制平台
基于 .NET 开发的多功能流媒体管理控制平台
386 9
|
Web App开发 前端开发 调度
一款基于 .NET + Blazor 开发的智能访客管理系统
一款基于 .NET + Blazor 开发的智能访客管理系统
312 8
|
前端开发 JavaScript C#
基于.NET8+Vue3开发的权限管理&个人博客系统
基于.NET8+Vue3开发的权限管理&个人博客系统
322 7
|
网络协议 C#
基于.NET WinForm开发的一款硬件及协议通讯工具
基于.NET WinForm开发的一款硬件及协议通讯工具
266 7
|
监控 前端开发 API
一款基于 .NET MVC 框架开发、功能全面的MES系统
一款基于 .NET MVC 框架开发、功能全面的MES系统
850 5