The Holy Java

Building the right thing, building it right, fast


Architectural decisions are the decisions that are hard to change later on (contrary to design decisions). One goal of an architect is to minimize them, i.e. design the system so that they are not so important after all. We also try to make it possible to postpone making them as long as reasonable so that we have more knowledge when we eventually make them.

Kevlin Henney: The Architecture of Uncertainty – use uncertainty, lack of knowledge and options to partition and structure the code in a system

It’s crucial to understand the needs of the domain – f.ex. the complex, often changing rules of a pension system x transactional processing with focus on security and batch processing in a bank x high volume and importance of speed at a stock exchange.

Tom Gilb

The goal of architecture is to satisfy requirements (enable delivering desired qualities, respect constraints, costs) –

Architecture that never refers to necessary qualities, performance characteristics, costs, and constraints is not really architecture of any kind.

Real arch.:

  • Has multidimensional clear design performance objectives [performance = all regarding how it functions, not just speed etc.]
  • Has clear multiple constraints
  • Produces architecture ideas which enable and permit objectives to be met reasonably within constraints [and we can try which works best or combine multiple]
  • Estimates expected effects


Studying architecture


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: