Castle Project
{{Short description|Application framework for CLI platform implementations}}
{{Infobox software
| name = Castle Project
| screenshot =
| caption =
| latest_release_version = 3.3.3
| latest_release_date = {{Start date and age|2014|11|06}}
| operating_system = Cross-platform
| genre = Application framework
| license = Apache 2.0
| website = {{Official URL}}
}}
Castle Project (or Castle for short) is an open-source application framework for CLI platform implementations (e.g., .NET Framework). It was released on November 6, 2014. The project was founded by a member of the Apache Avalon and the Apache Excalibur projects.
History
The project was founded by Hamilton Verissimo de Oliveira (aka "Hammett"), who was a member of the Apache Avalon 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.{{fact|date=May 2021}}
Hammett was joined by other developers after publishing a series of articles on Code Project,{{cite web
| url = http://www.codeproject.com/KB/architecture/introducingcastle.aspx | title = Introducing Castle - Part I |date=2004-12-30 |author=Verissimo, Hamilton | accessdate = 2004-12-27}}
| url = http://www.codeproject.com/KB/architecture/IntroducingCastleII.aspx | title = Introducing Castle - Part II |date=2005-01-26 |author=Verissimo, Hamilton | accessdate = 2005-01-26}}
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".{{Cite web | last = Krill | first = Paul | title = Castle built for .NET | date = 2006-11-21 | url = http://www.infoworld.com/article/06/11/21/HNcastleproject_1.html?source=searchresult | archive-url = https://archive.today/20130126061939/http://www.infoworld.com/article/06/11/21/HNcastleproject_1.html?source=searchresult | url-status = dead | archive-date = 2013-01-26 }}
The Castle Project 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".{{cite web | last = Eini | first = Oren | title = Inversion of Control and Dependency Injection: Working with Windsor Container | date = 2006-11-10 | url = http://msdn2.microsoft.com/en-us/library/aa973811.aspx | access-date = 2007-09-07 | archive-url = https://web.archive.org/web/20070911171004/http://msdn2.microsoft.com/en-us/library/aa973811.aspx | archive-date = 2007-09-11 | url-status = dead }}
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.{{cite web | url = http://hammett.castleproject.org/?p=312 | date = 2008-07-16 | author = Hammett | title = Joining Microsoft | accessdate = 2015-10-14 | archive-date = 2016-03-03 | archive-url = https://web.archive.org/web/20160303213506/http://hammett.castleproject.org/?p=312 | url-status = dead }}
On October 31, 2008, Hammett announced on his blog that the Castle Project had been split, and subsequently all subprojects would be maintained and released independently.{{cite web | url = http://hammett.castleproject.org/?p=329 | date = 2008-10-31 | author = Hammett | title = Changes to Castle Project | accessdate = 2015-10-14 | archive-date = 2015-10-02 | archive-url = https://web.archive.org/web/20151002034152/http://hammett.castleproject.org/?p=329 | url-status = dead }}
The first project to be released after the split was DynamicProxy, on May 4, 2009.{{cite web
| url = http://jonorossi.com/blog/archive/2009/05/04/castle-dynamicproxy-2.1-rtm-is-now-available.aspx
| title = Castle DynamicProxy 2.1 RTM is now available
| date= 2009-05-04
| author = Rossi, Jonathon
| accessdate = 2015-10-14}}
Features
- MicroKernel, a core lightweight inversion of control (IoC) container.
- Windsor, a flexible and powerful configurable Inversion of Control container suitable for enterprise requirements.
- MonoRail, a MVC web application framework, inspired by Ruby on Rails
- ActiveRecord, an implementation of the active record pattern built on top of NHibernate.
- Aspect#, a simple aspect-oriented programming framework compliant with [http://aopalliance.sourceforge.net/ 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 engine.
References
{{Reflist}}
External links
{{Portal|Free and open-source software}}
- {{Official website}}
- [http://hammett.castleproject.org/ Zen and the art of Castle maintenance] {{Webarchive|url=https://web.archive.org/web/20070911153139/http://hammett.castleproject.org/? |date=2007-09-11 }}
- [http://www.ayende.com/Blog/ Oren Eini's blog]