Castle Project
Encyclopedia
The Castle Project is an open source
application framework
for the .NET platform.
and the Apache Excalibur
projects. Keenly interested in the development of an inversion of control
container, after he resigned from Avalon and became disillusioned with Excalibur, he went on to develop and release his own for the .NET platform.
Hammett was joined by other developers, after the publishing of a series of articles
on The Code Project
and the Castle Project eventually expanded its mission "to provide a simple set of tools to speed up the development of common enterprise and web applications while promoting good architecture".
The Castle Project still continues to gain acceptance and mind-share from the .NET community, including recognition from Microsoft thought leaders as a framework to assist with building "robust, extensible, working software".
In 2006 Hammett started his own company to offer commercial support for the Castle Project and for the applications developed using the framework. In August 2008 he joined Microsoft as a Program Manager on the MEF team.
On October 31, 2008 Hamilton announced http://hammett.castleproject.org/?p=329 on his blog that Castle Project has been split, and all subprojects will be maintained and released independently since that date.
The first project to be released after the split was DynamicProxy, on May 4, 2009 http://jonorossi.com/blog/archive/2009/05/04/castle-dynamicproxy-2.1-rtm-is-now-available.aspx.
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
application framework
Application framework
In computer programming, an application framework consists of a software framework used by software developers to implement the standard structure of an application for a specific development environment ....
for the .NET platform.
History
The project was founded by Hamilton Verissimo de Oliveira (Hammett), who was a member of the Apache AvalonApache Avalon
Apache Avalon is a computer software framework developed in 1999 as a project to provide a reusable component framework for container applications...
and the Apache Excalibur
Apache Excalibur
Apache Excalibur project produces a set of libraries for component based programming in the Java language. Its main products include the Inversion of Control framework Avalon, an Avalon based container named Fortress, and a set of Avalon compatible software components.Excalibur spun out of the...
projects. Keenly interested in the development of an inversion of control
Inversion of Control
In software engineering, Inversion of Control is an abstract principle describing an aspect of some software architecture designs in which the flow of control of a system is inverted in comparison to procedural programming....
container, after he resigned from Avalon and became disillusioned with Excalibur, he went on to develop and release his own for the .NET platform.
Hammett was joined by other developers, after the publishing of a series of articles
on The Code Project
The Code Project
The Code Project is a website that contains articles for an audience of computer programmers. Articles can be related to general programming, GUI design, algorithms or collaboration. Most of the articles have been uploaded by visitors and have not been extracted from an external source. Nearly...
and the Castle Project eventually expanded its mission "to provide a simple set of tools to speed up the development of common enterprise and web applications while promoting good architecture".
The Castle Project still continues to gain acceptance and mind-share from the .NET community, including recognition from Microsoft thought leaders as a framework to assist with building "robust, extensible, working software".
In 2006 Hammett started his own company to offer commercial support for the Castle Project and for the applications developed using the framework. In August 2008 he joined Microsoft as a Program Manager on the MEF team.
On October 31, 2008 Hamilton announced http://hammett.castleproject.org/?p=329 on his blog that Castle Project has been split, and all subprojects will be maintained and released independently since that date.
The first project to be released after the split was DynamicProxy, on May 4, 2009 http://jonorossi.com/blog/archive/2009/05/04/castle-dynamicproxy-2.1-rtm-is-now-available.aspx.
Features
- MicroKernelMicrokernelIn computer science, a microkernel is the near-minimum amount of software that can provide the mechanisms needed to implement an operating system . These mechanisms include low-level address space management, thread management, and inter-process communication...
, a core lightweight Inversion of ControlInversion of ControlIn software engineering, Inversion of Control is an abstract principle describing an aspect of some software architecture designs in which the flow of control of a system is inverted in comparison to procedural programming....
container. - Windsor, a flexible and powerful configurable Inversion of Control container suitable for enterprise requirements.
- MonoRail, a MVCModel-view-controllerModel–view–controller is a software architecture, currently considered an architectural pattern used in software engineering. The pattern isolates "domain logic" from the user interface , permitting independent development, testing and maintenance of each .Model View Controller...
web applicationWorld Wide WebThe World Wide Web is a system of interlinked hypertext documents accessed via the Internet...
framework, inspired by Ruby on RailsRuby on RailsRuby on Rails, often shortened to Rails or RoR, is an open source web application framework for the Ruby programming language.-History:... - ActiveRecord, an implementation of the active record patternActive record patternIn software engineering, the active record pattern is an architectural pattern found in software that stores its data in relational databases. It was named by Martin Fowler in his 2003 book Patterns of Enterprise Application Architecture...
built on top of NHibernateNHibernate- External links :*** *NuGet...
. - Aspect#, a simple aspect-oriented programmingAspect-oriented programmingIn computing, aspect-oriented programming is a programming paradigm which aims to increase modularity by allowing the separation of cross-cutting concerns...
framework compliant with AOP Alliance recommendations. - DynamicProxy, a popular lightweight proxy generator for interfaces and concrete classes.
- NVelocity, an improved fork from the official port of the Velocity template engineTemplate engineA template engine is software that is designed to process web templates and content information to produce output web documents. It runs in the context of a template system.-Types:...
.