Dashboard > Castle Project > Castle Project > Rationale
  Castle Project Log In   View a printable version of the current page.  
  Rationale
Added by James Curran, last edited by Harjit S. Batra on Feb 13, 2008  (view change)
Labels: 
(None)

An empty space lies in the open source community between those who happen to use the CLI (Common Language Infrastructure) running on Windows (.Net Framework from MS) and|or Linux (Mono). This empty space represents the lack of a model on how to build a Good Application (tm).

Of course, there are several factors that contribute to creating a Good Application, and from our standpoint one of them is good architecture. Good architecture is accomplished by having cohesion, single classes with well-defined responsibilities, orthogonality and loosely coupled components (providing reusability among different projects).

From our experience, inversion of control can help even an inexperienced team to accomplish good architecture. However, the usage of this design principle is a matter of taste, and people should not feel obligated to use it.

Castle's goal is to provide a set of standalone tools and an inversion of control container implementation in order to create a meeting point for these tools.

Retrieved from "http://wiki.castleproject.org/index.php/Castle:Rationale"

Site running on a free Atlassian Confluence Community License granted to Castle Project. Evaluate Confluence today.
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.5.4 Build:#809 Jun 12, 2007) - Bug/feature request - Contact Administrators