" Fill in the blank. New options arrive almost daily. With the momentum behind Angular, maybe it's not so hard to fill in that blank.
SignalR. RavenDB and the Repository pattern. I recently had a short email exchange with Ayende Rahien and he suggested something I hadn't considered before: not using a Repository pattern.
Background Allow me to elaborate. Before trying RavenDB, I was frequently dealing with data APIs that necessitated use of the Repository pattern (or at least some pattern of abstraction): Legacy APIs: legacy APIs often expose data in a format very different to your domain model. Translation of legacy data model to domain model should occur in one place and one place only Web services: a lot commercial web services are an absolute mess and you want to avoid exposing them to the rest of the application as much as possible Sitecore Data API: majority of CRUD and field access operations involve magic strings and you don't want those dotted all over your application Reasons for using layers of abstraction boil down to: I was so used to dealing with these issues that trying to shoehorn RavenDB into a repository just seemed natural.
The Onion Architecture : part 1 : Jeffrey Palermo (.com) This is part 1. part 2. part 3. part 4.
My feed (rss). I've spoken several times about a specific type of architecture I call "Onion Architecture". I've found that it leads to more maintainable applications since it emphasizes separation of concerns throughout the system. I must set the context for the use of this architecture before proceeding. This architecture is not appropriate for small websites.
Progressive enhancement in MVC 3 with the help of custom ActionResults. Architecture. Taking the Single Responsibility Principle Seriously - C# tutorial. Among these principles, one seems very simple but is hard to get right (as Robert C.
Martin puts it). It’s the first principle of SOLID and also one of the oldest principles of software development: the Single Responsibility Principle (SRP). This article starts with a more detailed and more general definition of the Single Responsibility Principle continues with a simple approach to spot and contain typical responsibilities of different grain size, and finally looks under the surface of the very paradigm used to implement typical aspects to reveal even more responsibilities to separate. Defining the SRP for Purpose Wikipedia defines the SRP like this: “[T]he single responsibility principle states that every object should have a single responsibility, and that responsibility should be entirely encapsulated by the class.
James Broome Blog : Asp.Net MVC Controllers + BDD = The perfect match? [Part #1: The HomeController] This is part 1 in a series of posts on using Behaviour Driven Development to build and test your MVC controllers.
The full series is as follows: Behaviour Driven Development/Design has been gaining a lot of traction recently amongst the community and whilst not everyone may be using it in anger to write code and deliver projects, most people should have a fair idea of what it is all about by now. I’ve been talking about it for a while, since I attended JP Boodhoo’s Nothin But .Net course over a year ago, where I was exposed to BDD for the first time. For the last 6 months or so, I’ve been Dev Lead on a greenfield e-commerce application, using Asp.Net MVC, Sharp Archictecture, N2 CMS, NHibernate, Spark View Engine, Post Sharp and a whole host of other cool stuff.
BDD has a real sweet spot when it’s used to describe high level, user story-like business specifications. Pre-Requisites First up – the HomeController. So, our first scenario is: Project Directory. ASP.NET WebSocket & Comet Ajax Library (Reverse Ajax - Server Push) - Home.
It's really easy to run it on Windows now, and if you run it under iisnode, it's actually running under a standard IIS Handler, which means you can integrate it directly into ASP.NET applications. Node event-driven model is really interesting. There's been a lot of discussion on it lately; it's neither a cancer nor the cure for cancer, but it makes it easier to handle scaling in the small. While you can handle asynchrony in most web frameworks, it's a fundamental part of Node.
Some background: Herding Code podcasts, early experiments While Node has been mentioned enough on the Herding Code podcast enough that listeners have told it's been incorporated into the (unofficial) Herding Code drinking game, we've only had two official shows dedicated to Node so far. Open source .NET and Mono web services framework.