What software architect should know?

What things Software Architect should know? Effective Java was the first book I’ve read whose table of contents had read like programming commandments. The rest of the book provided commentary and examples, but the section headers read like axioms to program by. I found a similar book in 97 Things Every Software Architect Should Know. 97 Things is a collection of 97 short essays from a number of architects on topics such as soft skills, leadership, and software architecture. The table of contents for 97 Things also reads like commandments or axioms. 97 Things Every Software Architect Should Know is a collaborate effort from numerous contributors. The project wiki is available here. Below are 101 axioms taken from the different essay titles from the project. The axioms have been rearranged from the original order provided online to provide context, and in cases edited for legibility. More...

Solid ASP.NET MVC applications recommendations

Coding guidelines aimed at helping the ASP.NET MVC developer create solid applications. Of course, it's up to you as the developer to decide which of these guidelines are appropriate for your application. Mode, View, Controller, Performance and testing recommendations can show best practices for any developer that using ASP.NET MVC 2 or ASP.NET MVC 3. More...

MVVM (Model-View-ViewModel) design pattern

Model-View-ViewModel  is a way of creating client applications that leverages core features of the WPF platform, allows for simple unit testing of application functionality, and helps developers and designers work together with less technical difficulties. The classes in the MVVM Foundation are time-tested tools in the toolbox of many WPF developers around the world. Now they all live in one convenient project. MvvmFoundation.Wpf. The source code download also contains a set of unit tests and a demo application, which show how to use the classes. If you want to learn more about MVVM be sure to read Josh Smith's Advanced MVVM book. More...

Inversion of control (IOC containers) .NET IOC patterns

IoC is not a new concept, however. It has been around for several years now. Using object-oriented design principles and features such as interface, inheritance, and polymorphism, the IoC pattern enables better software design that facilitates reuse, loose coupling, and easy testing of software components. This article discusses IoC and demonstrates how to use this pattern in your software design without having to implement any of the open source frameworks. More...

Licenses

When uploading an article you need to be aware of the risks and legal issues involved. We need to protect yourself against those seeking damages against you for problems that may or not have been caused by your article, and this is really big problem for all of us. Just saying "The code is free for use" is no longer enough and this is stupid. What does "free" mean, why we can use this word? Are there any restrictions with free license at all? What happens if your code breaks my system, for example how much it will costs me? Below are a list of licenses that we at The Code project support for article contributions. The main points to think about are:

  1. What restrictions do I want to impose on my code?
  2. How much do I wish to protect myself and my readers (licenses go both ways) More...