很多书籍和文章都对Java和C#之间的相同与不同之处做了比较,下面是Java与C#之间的共同点的一个简单的列举:
特点
|
Java
|
C#
|
面向对象语言
|
是
|
是
|
独立于机器语言的中间语言
|
是
|
是
|
类打包
|
Jar包文件
|
程序集(Assembly)以exe,dll或module文件存在
|
类名称空间
|
有
|
有
|
类加载机制
|
由类加载器加载到JVM中
|
由.Net应用程序域加载
|
独立的类空间
|
不同的类加载器(Class Loader)加载的类具有独立的逻辑空间,相互不可见
|
不同的应用程序域(Application Domain)加载的程序集不可见,具有独立的逻辑空间
|
运行时环境
|
JVM
|
.Net Runtime
|
在OSGi中最重要的概念就是Bundle,Bundle介于Jar包和应用系统之间,通过MANIFEST.MF文件中定义的元数据,来描述Bundle资源信息。同样,在.Net中,Bundle可以用程序集(Assembly)来实现,程序集的Manifest文件与Bundle的元数据文件类似,用于存储程序集的元数据信息,可以扩展该文件实现Bundle的规范。
Bundle加载后在OSGi环境中具有独立类空间,每个Bundle具有独立的类加载器,如下图所示。
JVM中的类加载器在.Net中可以用应用程序域(Application Domain)实现,一个应用程序域可以加载一个或多个应用程序集,共享的应用程序集可以加载到中立的应用程序域中。如下图所示:
以上关键问题的解决是不是就可以使用.Net实现OSGi的思想了呢?应该可以吧!
分享到:
相关推荐
动态化模块化框架,可热插拔子模块插件,定义了应用程序的生命周期模式和服务注册。只支持VS2017或以下的版本
OSGI.net是OSGI规范的一个.NET实现,它为.NET开发者提供了一个可扩展、模块化的运行时环境。OSGI的核心理念是将应用拆分为多个独立的模块,这些模块称为"bundles",它们可以独立地安装、启动、更新和卸载,而不影响...
1. **.NET Standard**:为了确保跨平台兼容性,项目可能遵循.NET Standard规范,这样可以在不同的.NET实现(如.NET Framework、.NET Core、Mono)上运行。 2. **NuGet包管理**:作为.NET生态系统的一部分,项目可能...
OSGI.NET是将OSGI规范引入到.NET框架中的实现,使得C#开发者也能享受到模块化带来的好处。这个“OSGI.NET开放工厂使用示例.zip”文件显然是一个教程或演示,旨在向Java和.NET开发者展示如何在C#环境中应用OSGI的概念...
1. **OSGI.net** - 这个标签指出了.NET平台上的OSGI实现,可能是某种库或者框架,使得开发者可以在.NET环境中利用OSGI的技术优势。 2. **WPF** - Windows Presentation Foundation,微软的图形子系统,用于构建具有...
本文档主要针对OSGi.NET模块化框架使用进行了描述 OSGi.NET框架是一个参照了OSGi规范的模块化管理框架。框架为应用程序(组件(bundle))提供了一个标准环境。整个框架可以划分为一些层次: 1.运行环境 2.模块...
标签"“c#osgi osgi osgi.net_github 模块化" 是对主题的关键词提炼,强调了C#语言、OSGi技术、OSGi.NET实现、代码托管于GitHub的事实,以及框架的主要特性——模块化。 **压缩包子文件的文件名称列表:** 由于只...
开放工厂向您提供了规范化的OSGi.NET插件框架和可复用的插件仓库,通过插件仓库来解决应用系统的持续集成、远程管理、自动更新、敏捷发布,无缝实现开发/QA/运维间无缝协作,并允许您将自定义的插件共享。...
该界面框架是在ModernUI(http://mui.codeplex.com/)基础上开发的非常现代、漂亮的通用界面框架,通过简单的配置,您可以将自定义的功能注册到页面。...使用的OSGi.NET插件 欢迎感兴趣的用户下载研究
OSGi.NET是一个动态模块化框架,它是紧密基于OSGi联盟的OSGi规范的.NET实现,由中国西安UI信息技术有限公司设计和开发,从2008年开始,它是完全免费的,并且可以与任何产品一起重新分配。 该项目主要致力于说明如何...
通过分析和学习项目源码,可以深入理解如何在.NET环境中实现类似Outlook的界面布局以及如何利用OSGi.NET实现插件化架构。同时,提供的资源文件也揭示了项目的配置、启动过程以及视觉元素的定制方法。
利用R-OSGi实现分布式OSGi应用 本文通过介绍传统 OSGi 应用程序及 R-OSGi 的实现方式入手,阐述了 R-OSGi 对于 OSGi 规范的实现方式。然后通过一个简单的功能实现由浅入深地讲述传统 OSGi 和 R-OSGi 上的两种不同...
【标题】:“利用felix和struts2实现osgi web”的知识详解 【描述】:在Java编程领域,OSGi(Open Service Gateway Initiative)是一种针对动态模块化开发的规范,它提供了一种服务导向、组件化的开发环境,使得...
漂亮的WPF界面框架(OSGi.NET插件)源码 源码描述: 该界面框架是非常现代、漂亮的通用界面框架,通过简单的配置,您可以将自定义的功能注册到页面。它支持三级菜单、支持更换皮肤和字体调整。 使用的OSGi.NET插件 ...
然而,在这里提到的"OSGi.NET插件"可能并不是标准的OSGi规范的实现,而是借鉴了OSGi的概念,用.NET实现的插件架构,允许开发者添加、删除或更新功能模块,增强了软件的灵活性和可维护性。 这个框架的核心特性包括:...
标题"基于osgi框架实战源码"揭示了本次学习的主题,即OSGi框架在实际项目中的应用。"osgi实战源码"这一描述进一步强调了这是一份可以动手实践的源代码,它以一个具体的购物车案例为背景,展示了如何在项目中运用OSGi...
OSGi.NET框架是一个参照了OSGi规范的模块化管理框架。框架为应用程序(组件(bundle))提供了一个标准环境。整个框架可以划分为一些层次: 1.运行环境 2.模块(Bundle) 3.生命周期管理 4.服务注册 5.扩展点...
OSGi.NET模块化框架算法资源
.NET插件反射技术是.NET框架中一种强大的编程机制,它允许程序在运行时动态地发现、加载和交互对象。在.NET的在线升级案例中,插件反射技术扮演着至关重要的角色,使得应用程序能够灵活地加载新功能或者更新现有功能...