February 7, 2007

Transformation: Ruby Smells

I keep hearing people say they couldn’t possibly use Ruby because it lacks automatic refactoring tools.

Marting Fowler tells us that Refactoring is the art and science of turning smelly code into good code, in small, incremental steps. Provably correct, by construction. Algorithms for giving your code a makeover without breaking it in the process.

Continue reading "Transformation: Ruby Smells" »

February 6, 2007

Scott Gu's Blog: ASP.NET AJAX 1.0 Released

Microsoft extends the Common Type Library to the client-side. This provides cross platform, cross browser support for a core JavaScript type-system, JSON-based network serialization stack, JavaScript component/control model (Observer Pattern), as well as common client JavaScript helper classes.

Continue reading "Scott Gu's Blog: ASP.NET AJAX 1.0 Released" »

Sizing Up .Net 3.0 Windows Presentation Foundation (WPF)

Extensible Application Markup Language (XAML) by Microsoft is a declarative XML-based language used to define objects and their properties, relationships and interactions for Windows Presentation Foundation (WPF). ...

Personally, my thoughts are, "Microsoft released the .Net 2.0 framework about the same time Web 2.0 was really peaking and they COMPLETELY missed it"... It had to be a major embarrassment for them. Now it looks like they are...

Continue reading "Sizing Up .Net 3.0 Windows Presentation Foundation (WPF)" »

January 27, 2007

Architectural Improvement by use of Strategic Level Domain-Driven Design

Basically Domain-Driven design can be divided into three areas:

  • Basic building blocks – Addresses how the domain is separated from technology by use of a layered architecture, combined with practical object oriented design patterns.
  • Sophisticated models – Addresses how the software is aligned with domain expert thinking, domain concepts are made explicit in code and refactoring of the code is driven by domain insight.
  • Strategic design – Addresses model integrity and management of complexity in large systems. Strategic design provides three core building blocks:

    • Context mapping
    • Distillation
    • Large scale structures

Continue reading "Architectural Improvement by use of Strategic Level Domain-Driven Design" »