-
"... the key to expert performance in many fields is domain knowledge rather than intelligence." Don Reinertsen Domain Driven Design is a software development methodology, intended to achieve a software system closely modelled on and aligned with real business processes. Traditionally development...
-
When it comes to working with Models in MVC, I’ve tried many approaches, some good, others not so much. I’ve ended up settling on ViewModels, whereby the Model I submit is dictated by the View I’m working with. This allows me the flexibility of displaying or gathering only the information...
-
…of course, you’d need to have the song ABC from the Jackson Five in your head for that title to be remotely amusing. Single Responsibility Principle is such a simple principle. It states that a class should only have one responsibility. One responsibility. Not two, not three, one. Such...
-
"Maybe There is a Better Way" I recently presented at DeveloperDeveloperDeveloper in Sydney, and although my talk was Stuff About CQRS, I opened with the slide My Object Today Is to Make You Think ... 'Maybe There is a Better Way' ( slides here ) The real focus of this was around how...
-
I came across a great video link yesterday, entitled “ Performance, Feedback, Revision ”. It’s a Canadian rapper named Baba Brinkman covering the theory of evolution and the work of Charles Darwin, and he equates evolution with how he writes his lyrics, Performance, Feedback, Revision. As I listened...
-
Even when developing the most basic CRUD application, we ask ourselves a number of questions - whether we realize it or not - during the initial phases of development concerning the architecture and construction of the project. Where will the data be persisted? What mechanism will be used to communicate...
-
What I've loved most about developing an open-source project is the ideas that I get from others who look at the work and either A) validate ideas, B) suggest that something stinks, or C) call a royal WTF and force people (e.g., me) to explain ideas more fully. It's usually during these explanation...
-
Updated 2010.03.09 to reflect small modifications that were decided through subsequent discussions on S#arp forum and other DDD posts. Obviously, S#arp Architecture is the bee's knees when it comes to developing ASP.NET MVC applications. ;) But as a project evolves and gets larger, "out of the...
-
Preface (you know it’s good if there's a preface) In Architectural Paradigms of Robotic Control , a number of architectures were reviewed including deliberative, reactive, and hybrid architectures. Each of these exhibit a clean separation of concerns with layering and encapsulation of defined...
-
Recent conversation I had with someone the other day: Jack : Yes, but we can’t do it like that. The business does not work that way. Me : Why does it not work that way? Jack : It’s a fundamental aspect of the business. We can’t change that. Me : And I accept that, but have you thought...
-
Ultimately most complexity in software comes not from the requirements, the business logic, or even the underlying systems. Most complexity comes out of a poorly considered and managed architecture, and this is commonly seen in tightly coupled systems that rapidly degrade into Big Balls of Mud. The key...
-
Introducing a New Blog Series Rarely do I make new year's resolution. But I found myself pinky swearing myself a single resolution for this year: write a series of tractable posts concerning the development of software for robotics. Accordingly, I intend to introduce background, techniques, and examples...
-
Today a conversation sparked off on Twitter, started by Jimmy Bogard and Matt Hinze , and then carried on by myself and Glenn Block . The basic starting point was what the difference was between using an IoC container like Windsor or StructureMap and using MEF (the Managed Extensibility Framework ) I...
-
(It looks like Kevin Pang and I must have seen the same vision this weekend or had a close encounter flashback as he's concurrently putting together a great series on Dependency Injection for Dummies ...be sure to check out his posts for another take on this subject!) S imply put, dependency injection...
-
From the beginning of my current project we have been working under some horrible constraints, many imposed by legacy systems, many by late decisions that would have speeded things immensely if made earlier, and many imposed by decisions that are outside of my control. This lead us early on to make decisions...