O'Reilly logo

97 Things Every Software Architect Should Know by Richard Monson-Haefel

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 75. If You Design It, You Should Be Able to Code It

Mike Brown is a lead software engineer for Software Engineering Professionals, Inc. (http://www.sep.com). He has 13 years of experience in IT, including 8 years' experience developing enterprise solutions in a wide range of vertical markets. He is a founder of the Indianapolis Alt.NET user group, a charter member of the WPF Disciples, and organizer of the upcoming Indy Arc professional user group.

Mike Brown
image with no caption

IN ARCHITECTURE, it's tempting to create elaborate designs and abstractions that elegantly address the problem at hand. It is even more tempting to sprinkle new technologies into the project. At the end of the day, someone has to implement your design, and the architectural acrobatics that you have the developers perform impact the project.

When designing the architecture for your project, you need to have a feel for the amount of effort necessary to implement each element of your design; if you've developed an element before, it will be much easier to estimate the effort required.

Don't use a pattern in your design that you haven't personally implemented before. Don't rely on a framework that you haven't coded against before. Don't use a server that you haven't configured before. If your architecture depends on design elements that you haven't personally used, there are a number of negative side effects:

  • You will not have ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required