The angle bracket is mightier than the pen
Indeed it has been known for many centuries that the written word could depose rulers more swiftly than any sword.
"The indispensable catalyst is the word, the explanatory idea. More than petards or stilettos, therefore, words - uncontrolled words, circulating freely, underground, rebelliously, not gotten up in dress uniforms, uncertified - frighten tyrants." -- Ryszard Kapuscinski, Shah of Shahs
In the modern world however the typed word and even the encoded word has become the more powerful entity. Newspapers yield their control of popular media to an internet of blogs and the world finds itself more dependent upon technology than ever...
Dynamic OrderBy in LINQ
Have you ever found yourself writing this code?
switch (columnName)
{
case "Name":
return objList.OrderBy(o => o.Name);
case "Address":
return objList.OrderBy(o => o.Address);
... etc ...
}
If so then you have probably wished you could do this:
return objList.OrderBy(columnName);
However, that's not going to work because the LINQ method is looking for an expression tree rather than a column name. There are a few libraries out there such as the Dynamic LINQ Library, but if that feels a little heavyweight for you then the following solution may help.
This class is a generic sorter for collections of type T. There are two...
Designing for Testability
Automotive manufactures have long been on the vaunted TDD bandwagon. For years they have harnessed the amazing potential of unit testing, verifying components individually prior to the expensive and time-consuming exercise of assembling them to make a completed vehicle. Integration testing in the automotive world is very expensive and to find that a single component failure has wasted a fleet of test vehicles as well as many months of construction and fabrication is close to unacceptable. However, they have also long faced the question of when and where to design for testability; a line still not clearly defined in any...
VSLive! Day Three - Creating Custom WCF Behaviors
Presenter: Rob Daigneau
Code: http://www.designpatternsfor.net
I think it must either be Rob Daigneau or the topic of Windows Communication Foundation because this was yet again another superb talk. WCF was of little interest to me when I first arrived at this conference, however now I found myself extremely interested in learning more about how it might improve the architecture of my projects. It doesn't feel, like so many unfortunately do, like a technological solution in search of a problem. I can already see where I could apply WCF to bring a robust communication framework into the design of my applications.
Aspect-Oriented Programming
Aspects encapsulate the handling of...
VSLive! Day Two - Implementing SOA Design Patterns with WCF
Presenter: Rob Daigneau (Chief Architect, SynXis)
Blog: http://www.designpatternsfor.net
Author of an upcoming book on SOA Design Patterns published by Addison Wesley.
This was definitely the most interesting talk of the conference so far. It's pleasing to see an advanced course that really got into some great architectural discussions and provided applicable techniques for solving difficult SOA problems such as maintenance, versioning, forward, and backward compatibility. This session is geared towards the WCF developer who is looking to improve their service oriented design architecture.
There are two typical types of SOA services:
Domain Services
These are the elemental building blocks upon which everthing else is built.
Enterprise...