.NET通用开发框架

2023-11-08

开源中国社区,简单整理了下比较好的.NET通用开发框架。一个好的通用框架大概包括:
开源、扩展性好、灵活性好、复用性好、维护性好、易测试、易发布、易部署、快速业务搭建(或业务集成)、通用性强、参考资料多、持续技术支持、社区疑难问题建设。

.NET通用开发框架 :
0.ASP.NET MVC
ASP.NET MVC,在现有的ASP.NET 3.5运行时的基础上提供了一个新的MVC框架。开发人员可以用MVC设计模式来构建Web应用,做到清晰的概念分离(UI或者视图与业务应用逻辑分离, 应用逻辑和后端数据分离),同时还可以使用测试驱动开发。ASP.NET MVC框架为Web应用的目录结构定义了一个专用的模式,还提供了一个controller基类,用来处理发动到“action”的请求。开发人员还可以 用上这个版本中所特有的Visual Studio 2008 MVC模板,利用模板所提供的单元测试结构来辅助Web应用开发。


1.Entity Framework
ADO.NET Entity Framework,是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案,早期被称为 ObjectSpace,现已经包含在 Visual Studio 2008 Service Pack 1 以及 .NET Framework 3.5 Service Pack 1 中发表。

2.Enterprise Library
Enterprise Library for .Net Framework 3.5 – EntLib v4.1,是patterns & practices 小组为.NET Framework 3.5 开发一套企业库,目前最新版本为v4.1,共包括9个Application Block,包括数据访问(Data Access Application Block)、异常管理(Exception Handling Application Block)、数据验证(Validation Application Block)等等,对企业应用开发非常有帮助,也非常实用。

3.NHibernate
NHibernate,是一个基于.Net 的针对关系型数据库的对象持久化类库。Nhibernate 来源于非常优秀的基于Java的Hibernate 关系型持久化工具。NHibernate 从数据库底层来持久化你的.Net 对象到关系型数据库。NHibernate 为你处理这些,远胜于你不得不写SQL去从数 据库存取对象。你的代码仅仅和对象关联,NHibernat 自动产生SQL语句,并确保对象提交到正确的表和字段中去。

4.SpringNet
Spring.NET,是一个关注于.NET企业应用开发的应用程序框架。它能够提供宽广范围的功能,例如依赖注入、面向方面编程(AOP)、数据访问抽象, 以及ASP.NET集成等。基于java的spring框架的核心概念和价值已被应用到.NET。Spring.Core 库是框架的基础, 提供依赖注入功能。Spring.NET中大多数类库依赖或扩展了Spring.Core的功能。

5.Bridge.NET
Bridge.NET,通过将 C# 转换成 JavaScript 来构建跨平台的移动应用、Web应用和桌面应用。通过 Visual Studio 插件,它为开发者提供了项目模版和编译器。它提供了对很多流行的 JavaScript 框架的支持,如 jQuery,Bootstrap,PhoneGap,AngularJS ……。只需在项目中安装对应的 NuGet Package,就可以引用相关的 JavaScript API。

6.Castle
Castle,是针对.NET平台下的一个非常优秀的开源项目,从数据访问框架 ORM到依赖注入容器,再到WEB层的MVC框架、AOP,基本包括了整个开发过程中的所有东西,为我们快速的构建企业级的应用程序提供了很好的服务。

7.CSLA.NET
CSLA .NET,是一个.NET软件开发框架,帮助开发者“为Windows、Web、面向服务和工作流等应用构建强大和可维护的业务逻辑层”。CSLA是Component-based, Scalable, Logical Architecture的简写,CSLA . NET是Rockford Lhotka基于.Net设计的一套N-tier分布式框架。

8.LLBL Gen
LLBLGen Pro,是LLBLGen的数据库访问解决方案,她包含两个部分:设计器(LLBLGen Pro designer)和运行时框架(LLBLGen Pro runtime framework)。支持多种数据库;设计器生成的源码除支持自身的运行时框架外,还支持另外三种数据库映射框架产品:EF 1.0和4.0、NHibernate 2.x、LINQ TO SQL;设计器的代码生成自动将各种表视图存储过程等对于的视图模型Entidy、接口Interface、操作类等完整生成;LLBLGen框架的使用可以基本使你完全脱离繁琐的数据存储及展现查询的各种操作过程,而专心于业务逻辑的开发。

9.NBear
NBear,是一个.Net 2.0下的快速开发框架。它提供了包括可视化实体设计、代码生成、持久化、SOA、MVP等一系列组件。 NBear的设计目标是尽最大可能减少程序员的重复劳动、提高开发效率、提升代码的可维护性和整体质量。


10.OpenWebFrame
OpenWebFrame开源web统一开发框架提供二次web开发所需工具集及可以直接使用的开发包。产品开发采用开源与付费相结合的模式进行。开源WEB统一开发框架针对中等规模的交互式网站产品,主要包括底层分布式框架以及源代码管理、日志分析等工具集和可以直接使用的公共开发包如注册登录部分、权限管理部分、缓存区、配置节以及分页等前端表现。最主要的关注点是能够在此框架基础上方便、快捷地扩展服务性应用,同时核心部分的运行要求高质量、高安全、高效率.

11.Subsonic
SubSonic,是一个类似Rails的开源.NET项目。你可以把它看作是一把瑞士军刀,它可以用来构建Website和通过ORM方式来访问数据。

12.FuBuMVC
FubuMVC,是一个前端的控制器,等同于 MVC 模式中的 Controller ,基于 .NET 框架开发,可以再 ASP.NET 项目中使用。

13.ThinkWide
ThinkWide,是一个基于.Net 3.5、C#2.0的软件开发框架类库。ThinkWide的设计目标是尽最大努力减少开发人员的工作量,最大程度提升开发效率,同时兼顾性能及可伸缩性,是一种完整的软件应用解决方案涉及全面的软件技术包含数据访问,数据部署,业务层逻辑,以及配置层,界面表示层等。灵活的O/R映射,更加简洁的代码。
提供实体类生成工具,免除手写实体的工作量。动态实体类工厂,运行时动态对象及缓存实体类接口的实现类。支持多数据库源。基于容器的分布式服务工厂,透明的分布式服务调用和分发 可切换的分布式服务,支持WebService,Remoting,WCF数据队列,而无需修改任何代码

14.FastSprint.NET
FastSpring.NET,是一个集成了Spring.NET & NHibernate & Ajax 的WEB开发框架。是国内第一个支持Spring.NET、NHibernate 及Ajax的开源的Framework。

15.XCore
XCore,是一款.NET平台下的免费开源框架,XCore的设想是为广大码农提供一款上手快、使用简单、开发效率又高的框架,经过上百个项目实战的检验,已是一款非常适用于商业项目及创业团队的开发框架。特点:简洁易用、从实战出发、高度集成、类库丰富、零配置、低依赖、多数据库支持。

16.WebSharp
WebSharp,是国人开源的一款开源持久层框架,它的目标是设计一个基于.Net的通用的应用软件系统的框架,以简化基于.Net平台的企业应用软件的开发。Websharp关注于企业应用软件的以下几个方面:数据库访问、O/R映射、AOP、分布式访问。

17.Nancy
Nancy,是一个轻量级用于构建基于 HTTP 的 Web 服务,基于 .NET 和 Mono 平台。Nancy 设计用于处理 DELETEGETHEADOPTIONSPOSTPUT 和 PATCH 等请求方法,并提供简单优雅的 DSL 以返回响应。

18.WebADNuke
WebADNuke! (以下简称ADN),是基于Asp.Net平台、采用面向业务模块技术实现企业级B/S结构应用开发、运行、管理、监控、维护的中间件平台。它将.Net 体系规范、开源技术、跨数据库技术和面向业务开发技术的完美结合起来,为企业级Web应用系统的开发带来了卓越的价值。ADN 是Web2.0开源技术体系基于Asp.Net平台的完整实现, 是用于Web业务应用开发而生的.Net Web 2.0开源架构,支持多数据库且跨数据库特性,支持在线安装和Zip格式文件安装,支持系统级的无缝集成,Window桌面的操作风格,超凡的用户体验, 可伸缩性扩展应用,有效整合现有的系统,同时又能保护团队现有成果,规范化团队成员的开发。

19.Manos
Manos,是一个易用、易于测试、高性能的 .NET 的 Web 框架。

20.Jessica
Jessica,灵感来自 Ruby 的微型框架 Sinatra ,采用 C# 开发。

另注:其他开发语言(Java、PHP、Python、Ruby、Node.js、JavaScript等)通用开发框架见Web框架开源软件

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.NET通用开发框架 的相关文章

  • 将 Java 对象图保存为 XML 文件

    将任意 Java 对象图保存为 XML 文件 并能够在以后重新水合对象 的最简单易用的技术是什么 这里最简单的方法是序列化对象图 Java 1 4 内置了对 XML 序列化的支持 我成功使用的一个解决方案是 XStream http x s
  • Javadoc 链接到其他类中的方法

    目前我正在使用以下 Javadoc 语法引用其他类中的方法 see link com my package Class method 据我从文档中了解到 这是执行此操作的正确方法 但现在到了有趣的部分 或者说令人沮丧的部分 当我生成这个 j
  • 浏览时 Java Applet 不会被终止

    当用户离开加载小程序的页面时 如何停止 Java 小程序的进程 我正在使用 Chrome 现在要杀死小程序 我必须使用窗口的任务栏并杀死进程 java exe Java applet 具有生命周期方法 那些是init start stop
  • 检查两个日期周期是否重叠[重复]

    这个问题在这里已经有答案了 我有两个日期范围 start1 end1 gt gt date1 start2 end2 gt gt date2 我想检查两个日期是否重叠 我的流程图我假设 运算符对于比较是有效的 boolean isOverL
  • 为什么用java日历解析时会得到错误的月份

    Date fakeDate sdf parse 15 07 2013 11 00 AM Calendar calendar Calendar getInstance calendar setTime fakeDate int current
  • .NET 世界有 Maven 替代方案或端口吗?

    NET 世界有 Maven 替代方案或端口吗 我很想使用 Java 世界拥有的良好依赖管理系统 但我没有找到任何可与 NET 项目相媲美的系统 NMaven http incubator apache org nmaven 是第一个 官方努
  • java中的散列是如何工作的?

    我正在尝试弄清楚java中的哈希值 例如 如果我想在哈希图中存储一些数据 它是否会有某种带有哈希值的底层哈希表 或者 如果有人能够对哈希的工作原理给出一个很好且简单的解释 我将非常感激 HashMap 基本上在内部实现为数组Entry 如果
  • 如何增加使用 SAX 解析 XML 文件的entityExpansionLimit

    我正在尝试使用 Java 中的 SAX 解析器解析一个 1 23 GB 的 XML 文件 我使用的是 Mac 操作系统和 JDK 1 7 0 51 不幸的是 我收到以下错误 The pasrser has encountered more
  • 具有多个字符串的列表视图

    我正在尝试创建一个包含多个字符串的列表视图 现在我有一个可以实现的功能 while i lt 10 GETS DATA FROM WEBPAGE ETC a DATAFROMWEBPAGE1 b DATAFROMWEBPAGE2 c DAT
  • Jetty 提供静态内容所需的最少文件集?

    背景 免责声明 I have veryJava 经验很少 我们之前在 Ant 构建期间使用了 Jetty 6 的包装版本来处理按需静态内容 JS CSS 图像 HTML 因此我们可以使用 PhantomJS 针对 HTTP 托管环境运行单元
  • 为什么我在 Java 中收到有关“可能丢失精度”的警告?

    class Test public static void main String args short s 2 s1 200 s2 s2 s s1 error possible loss of precision System out p
  • GSSAPI 中的 javax.naming.AuthenticationException

    我正在尝试使用 JAVA GSSAPI 执行 NTLM 绑定 我收到此错误 javax naming AuthenticationException GSSAPI 根异常是 javax security sasl SaslException
  • 何时对字符串文字使用 intern()

    我看到很多这样的遗留代码 class A public static final String CONSTANT value intern 我看不出使用 intern 的任何原因 因为在 Javadoc 中可以读到 所有文字字符串和字符串值
  • Thread.interrupt() 和 Thread.interrupted() 到底是如何工作的? [复制]

    这个问题在这里已经有答案了 从设置线程状态的角度来看 我不清楚这两种方法 Java 文档说 Thread interrupt 设置线程中断状态标志 调用 Thread interrupted 方法给出线程的状态并清除该标志 当这在实际场景中
  • 使用会话空闲超时进行轮询

    我对 Tomcat 中的所有应用程序使用单点登录 我的要求是 我必须轮询应从后端获取的事务状态 但它也不应该影响会话的空闲超时 有人可以建议是否可以做点什么吗 Thanx 我不知道是否有标准方法可以做到这一点 如果没有 你可以写一个过滤器
  • 不支持使用 JDK 版本“11.0.1”进行构建。请安装 JDK 版本 `1.8.0`

    我已经下载了 Visual Studio for Mac 并尝试开始学习 Xamarin iOS 和 Android 问题是当我尝试运行 android 项目时出现以下错误 Building with JDK Version 11 0 1
  • 在地图中的图块上实现鼠标单击事件

    我正在尝试在 JPanel 上实现图像 基本上是地图上的图块 的鼠标单击事件 我只是不知道该怎么做 我有一个扩展 JPanel 的 Main 类 我正在从图块服务器检索图块 并根据特定的缩放级别在 Main 类的 PaintComponen
  • 请解释为什么Java和C对此代码给出不同的答案

    public class Test public static void main String args int i 10 i i System out println value of i is i 输出是 10 当我在中执行类似的代码
  • 如何读取FTL文件中的JSONArray?

    我在我的 Java 文件中硬编码了以下 JSON 对象 JSONObject notificationInfoJson new JSONObject notificationInfoJson put title Payment Receiv
  • Cassandra 会话与集群 有什么可分享的?

    考虑 Cassandra 的 Session 和 Cluster 类 Java 驱动程序 我想知道有什么区别 在 Hibernate 中 每次都会创建一个会话并共享会话工厂 从许多来源我了解到 它被认为是创建一个会话并在多个线程之间共享它

随机推荐

  • freeRTOS手册 第六章 . 中断管理

    如果我对本翻译内容享有所有权 允许任何人复制使用本文章 不会收取任何费用 如有平台向你收取费用与本人无任何关系 第六章 中断管理 章节介绍和范围 事件 嵌入式实时系统必需对环境中的事件做出响应 比如 外部网络设备收到一个发送给TCP IP栈
  • gc垃圾回收四种方法

    标记清除算法 标记清除 Mark Sweep 算法 包含 标记 和 清除 两个阶段 首先标记出所有需要回收的对象 在标记完成后统一回收掉所有被标记的对象 标记清除算法是最基础的收集算法 后续的收集算法都是基于该思路并对其缺点进行改进而得到的
  • 使用Docker-镜像命令

    镜像名称 首先来看下镜像的名称组成 镜名称一般分两部分组成 repository tag 在没有指定tag时 默认是latest 代表最新版本的镜像 如图 这里的mysql就是repository 5 7就是tag 合一起就是镜像名称 代表
  • C#--使用Process类kill进程

    1 背景 static变量 static变量也称作静态变量 静态变量和非静态变量的区别是 静态变量被所有的对象所共享 在内存中只有一个副本 它当且仅当在类初次加载时会被初始化 而非静态变量是对象所拥有的 在创建对象的时候被初始化 存在多个副
  • 使用 Qt designer

    使用 Qt designer 1 配置Qt designer外部工具 2 Qt designer Qt 设计师 使用 2 1 创建保存文件ui 2 2 pyuic5 exe 工具 转化成为py文件 2 3 直接导入UI文件 2 qrc资源管
  • C# 正则表达式进阶

    文章目录 限定开头和结尾 匹配汉字 1 9反向引用 分组构造 具名的分组构造 断言 零宽度正预测先行断言 断言某位置后面是xxx 零宽度负预测先行断言 断言某位置后面不是xxx 零宽度正预测后发断言 断言某位置前面是xxx 零宽度负预测后发
  • 第二十七篇 SeNet——论文翻译

    文章目录 摘要 1 简介 2 相关工作 3 压缩和激励块 3 1 压缩 全局信息嵌入 3 2激励 自适应再校正 3 3 实例化 4 模型和计算复杂性 5 实验 5 1 图像分类 5 2 场景分类 5 3 COCO上的目标检测 5 4 ILS
  • 保研之路——复旦计算机学院预推免

    复旦计算机学院预推免 个人情况 高校复试参与情况 复旦计算机学院直硕 9 19 9 20 结语 嗯 抱着不白花这么多路费住宿费的初衷准备写一个保研经验贴 希望学弟学妹少花点钱吧orz 我的战术大概是只要学校给我发了邀请我就去 除了时间冲突的
  • windows配置selenium

    文章目录 1 确定chrome版本 2 下载并配置chrome驱动 3 测试 1 确定chrome版本 在chrome中访问 chrome settings help 可以看到当前版本 111 0 5563 111 64位 2 下载并配置c
  • matlab读取sheet1_matlab读取excel数据的方法步骤详解

    在Excel中录入好数据以后经常需要被matlab读取 具体该如何读取呢 下面是由学习啦小编分享的matlab读取excel数据的方法 以供大家阅读和学习 matlab读取excel数据的方法 matlab读取Excel数据步骤1 如果数据
  • Vue/JS自定义指令:实现元素滑动、移动端适配以及边界处理

    核心属性 Element clientWidth 元素可视宽度 Element clientHeight 元素可视高度 MouseEvent clientX 鼠标相对于浏览器左上顶点的水平坐标 MouseEvent clientY 鼠标相对
  • 微服务如何治理

    微服务远程调用可能有如下问题 注册中心宕机 服务提供者B有节点宕机 服务消费者A和注册中心之间的网络不通 服务提供者B和注册中心之间的网络不通 服务消费者A和服务提供者B之间的网络不通 服务提供者B有些节点性能变慢 服务提供者B短时间内出现
  • 每日学习07:Comparable接口的CompareTo的用法

    接口 Comparable 此接口强行对实现它的每个类的对象进行整体排序 这种排序被称为类的自然排序 类的 compareTo 方法被称为它的自然比较方法 字符串 数组列表 数组 所有可以 排序 的类都实现了java lang Compar
  • ThinkPHP5.1开发企业微信支付到零钱

    Wxpay php
  • npm启动vue应用开发服务器过程分析

    关于 npm run serve 命令启动vue应用开发环境的过程分析 1 npm run 命令执行时 npm run 命令执行时 会把 node modules bin目录添加到执行环境的PATH变量中 全局的没有安装的包 在node m
  • 本地IDEA中使用SonarQube扫描代码

    文章目录 背景 步骤 安装插件 配置 使用 背景 为了提高效率 在走代码CICD流程里的Sonarqube之前 先在本地提前进行一次扫描和修复 步骤 安装插件 2种方式 在IDE的插件管理中心安装名为 SonarQube Community
  • 爬虫高级应用(15. 基于Charles抓包软件抓取手机APP数据)

    目录 写在前面 配置安装Charles 安装Charles 下载相关证书 电脑证书 手机证书 设置代理 实操案例 抓取手机APP爱吾游戏宝盒数据 写在前面 移动App多使用异步的方式从服务端获取数据 抓取数据之前 要先分析移动App用于获取
  • 线性代数 --- 线性代数基本定理下(四个基本子空间他们两两正交,且互为正交补)

    正交子空间 前面我们已经知道了 两个向量的内积为0是勾股定理的另一种表现形式 现在我们来研究一下两个子空间之间的正交 虽然 我很不喜欢一上来就先给个定义 但我这里还是要给 sorry 现有两个子空间V和W 如果V中的任何一个向量v和W中的任
  • deepsort算法原理以及代码解析

    概述 前边我们讲了sort算法的原理 并且指出了它的不足 IDsw过大 为了解决该问题 17年时候sort算法的团队又提出了DeepSort算法 Deepsort在原来Sort算法的基础上 改进了以下内容 使用级联匹配算法 针对每一个检测器
  • .NET通用开发框架

    在开源中国社区 简单整理了下比较好的 NET通用开发框架 一个好的通用框架大概包括 开源 扩展性好 灵活性好 复用性好 维护性好 易测试 易发布 易部署 快速业务搭建 或业务集成 通用性强 参考资料多 持续技术支持 社区疑难问题建设 NET