`
isiqi
  • 浏览: 16854917 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Castle介紹

 
阅读更多

Castle的核心是个轻量级(Lightweight)容器(Container),实现了IoC(Inversion of Control)模式的容器,基于此核心容器所建立的应用程序,可以达到程序组件的松散耦合(Loose coupling),让程序组件可以进行测试(Testability),这些特性都使得整个应用程序可以在架构上与维护上都能得到相当程度的简化。

  • 轻量级(Lightweight)

Castle的核心的程序集只有不到 1MB 的大小,而使用 Castle核心所需要的资源也是很小的,而 Castle是个非侵入性(Nonintrusive)框架,它的目的之一,是让应用程序不感受到框架的存在,减低应用程序从框架移植时的负担。

  • 容器(Container)

Castle核心本身是个容器,管理对象的生命周期、对象的组态、相依注入等,并可以控制对象在创建时是以 原型(Prototype) 或 单例(Singleton) 的方式来建立。

  • IoC(Inversion of Control)

Castle的核心概念是IoC,IoC的核心思想是通过消除直接的代码编写并配置需要依赖的服务,来促进松散耦合设计。IoC更具体而易懂的名词是依赖注入(Dependency Injection),使用 Castle,您不必自己在程序代码中维护对象的依赖关系,只需在组态档中加以设定,Castle核心容器会自动根据组件将依赖注入指定的对象。

除了这些特性之外,Castle的目标是实现一个全方位的整合框架,在 Castle框架下实现多个子框架的组合,这些子框架之间彼此可以独立,也可以使用其它的框架方案加以替代,Castle希望提供 one-stop shop 的框架整合方案。

  • 持久层

Castle提供对持久层的整合,如 ADO.NET、O/R Mapping工具(NHibernate、iBATIS.NET)、ActiveRecord、事务处理等。

  • Web 框架

Castle也提供 Web 框架的解决方案,Castle MonoRail - 一个构建于ASP.NET(不要和ASP.NET中的WebForms混淆)之上的Web框架。它以控制器作为Web应用程序中的主要角色,决定流程,委托到其他层并选取视图来呈现,因此它只关心应用程序的流程逻辑。视图,另一方面也只关注表现逻辑。这是和标准的WebForms模式最大的不同之处。但您也可以将自己所熟悉的 Web 框架与 Castle整合,像 WebForm 等,都可以与 Castle整合而成为适用于自己的解决方案。

对于一些服务,例如 Remoting、Mail、WCF、缓存、任务调度等,Castle不直接提供实现,而是采取抽象层方式进行包装,让这些服务在使用时可以有一致的使用模式且更为方便。

分享到:
评论

相关推荐

    castle.net AOP教程

    教程中还会介绍如何使用XML配置文件或代码API来指定拦截器的应用。例如,你可以使用`InterceptorsAttribute`来装饰服务接口或实现,或者在Windsor容器的配置中声明拦截器。此外,还可以通过` Lifestyle`管理拦截器...

    Castle3.0卷3

    此外,还将介绍如何进行数据验证和利用NHibernate——Castle ActiveRecord的基础ORM库——的高级功能。 然后,是Castle MonoRail,它是一个基于MVC(模型-视图-控制器)设计模式的Web应用程序框架,为ASP.NET开发...

    BouncyCastle.Crypto.dll

    "DLL之家.htm"可能包含有关DLL文件的介绍、教程或下载资源的链接,帮助用户更好地理解和使用BouncyCastle.Crypto.dll。"X86"和"X64"文件夹则分别包含了适用于32位和64位系统的版本,确保在不同架构的计算机上都能...

    开源加密库Bouncy Castle Crypto APIs (RSA加密)

    在本文中,我们将深入探讨RSA加密以及如何在Java和C#之间进行密钥转换,同时也会介绍Bouncy Castle Crypto APIs在这些操作中的作用。 **RSA加密原理** RSA是一种基于大整数因子分解困难性的公钥加密算法。由Ron ...

    castle资料

    下面将详细介绍 Castle 项目的核心知识点及其相关文件内容。 1. **Castle Windsor**:Castle项目中的核心组件是Castle Windsor,它是一个全面且功能丰富的 inversion of control (IoC) 容器,也被称为依赖注入容器...

    BouncyCastle 1.8.6的官网源代码、示例、测试、文档;bccrypto-csharp-1.8.6-src.zip

    文档中可能还会介绍如何配置和集成BouncyCastle到现有项目中,以及如何解决常见问题。 5. **bccrypto-csharp-1.8.6**:这个文件名可能是解压后的目录,包含了所有源代码、示例、测试和文档。开发者可以通过此目录...

    Castle最新源码

    5. **Readme.txt**:这是项目的基本介绍和快速入门指南,通常会包含项目的目的、如何构建、如何开始使用等信息。它是了解Castle项目最直接的方式。 6. **net35、net40、net40cp**:这些可能是针对不同.NET ...

    Winform使用Castle

    以下将详细介绍如何在Winform应用中集成并使用Castle Windsor。 1. **依赖注入(Dependency Injection, DI)**: 依赖注入是一种设计模式,它允许我们解耦组件之间的关系,使我们的代码更加灵活、可测试和易于维护...

    The Bouncy Castle FIPS Java API

    - **起步**:介绍了如何安装和配置Bouncy Castle FIPS提供者(Provider)。Provider是Java安全架构中的一个关键概念,用于扩展Java平台的加密算法和服务。 - **随机数**:涵盖了如何生成符合FIPS标准的安全随机数。...

    AES 资料 Bouncy Castle Crypto

    **AES (高级加密标准)** AES,全称为Advanced Encryption Standard,...以上就是关于AES加密、Bouncy Castle库以及AES-128-CBC模式的基本介绍。了解并掌握这些概念,对于在Java环境中进行安全的数据加密是非常重要的。

    C# 基于BouncyCastle.Crypto 1.8.10 实现国密算法,SM2,SM3,SM4(加签解签,加密解密)

    接下来,我们将详细介绍如何使用BouncyCastle.Crypto库在C#中实现这些算法: **1. 引入库和配置环境** 在C#项目中,你需要通过NuGet包管理器或手动添加引用来引入BouncyCastle库。确保安装的是1.8.10版本。 ```...

    java 加解密算法 BouncyCastle加解密包15on-1.60

    文件列表中的`README.md`通常包含项目的介绍、使用方法、安装指南等内容,对于理解和使用BouncyCastle库至关重要。而`BouncyCastle╝╙╜Γ├▄░ⁿ`和`BouncyCastle加解密包`可能是库的二进制文件或者源代码文件,...

    Castle3.0卷1

    9. **社区和资源**:介绍Castle项目的社区、文档、API参考以及开发者如何获取帮助和支持。 总之,《Castle3.0卷1》为.NET开发者提供了一个全面的指南,涵盖了从基础到高级的各种Castle3.0使用技巧和最佳实践,旨在...

    BouncyCastle UserGuide C# DotNet

    在本指南中,我们将详细介绍 Bouncy Castle .NET API 的使用,包括基本概念、安装、配置、加密算法、数字签名、哈希函数等。同时,我们还将提供一些实用的示例代码,帮助开发者快速掌握 Bouncy Castle .NET API 的...

    Castle-ChmHelp.rar

    《Castle.chm》是关于Castle项目的一份CHM(Compiled Help Manual)帮助文件,它包含了对Castle项目的详尽介绍和源代码的说明。Castle项目是一个开源的.NET框架集合,其核心组件包括Castle Windsor IoC容器、Castle ...

    Castle3.0卷2

    以下将详细介绍该卷中的关键知识点。 1. **依赖注入(Dependency Injection,简称DI)**:Castle3.0中的核心组件之一是Windsor Container,它是.NET平台上功能完备的DI容器。DI有助于减少代码间的耦合,通过外部...

    Castle ActiveRecord 手册

    以下是对这个框架的一些关键知识点的详细介绍: 1. **ActiveRecord模式**:ActiveRecord模式将业务对象与数据库表映射,每个类代表一个数据库表,每个实例对应表中的一行。通过这种方式,开发者可以直接对对象进行...

    Castle AR快速入门

    本指南将详细介绍如何通过几个简单的步骤来搭建一个使用Castle AR的基础项目,并执行基本的CRUD(创建、读取、更新、删除)操作。 #### 二、创建Web工程 1. **新建Web项目**:首先,在Visual Studio中新建一个ASP...

    Castle ActiveRecord学习实践

    ### Castle ActiveRecord 学习实践知识点总结 #### 快速入门指南 **概述:** Castle ActiveRecord 是 Castle Project 中的一个模块,用于提供对象关系映射 (ORM) 功能。它基于 NHibernate 构建,但简化了配置和使用...

    山特在线Castle-3CxxKS说明书

    ### 山特在线Castle-3CxxKS说明书关键知识点解析 #### 一、监管码声明与验证 - **监管码的重要性**: 监管码作为国家质检总局推出的一种产品身份识别码,旨在打击假冒伪劣产品,保护消费者权益。 - **山特注册商标...

Global site tag (gtag.js) - Google Analytics