Architecture, Craftsmanship

Clean Architecture: Standing on the shoulders of giants

This post is part of The Software Architecture Chronicles, a series of posts about Software Architecture. In them, I write about what I’ve learned on Software Architecture, how I think of it, and how I use that knowledge. The contents of this post might make more sense if you read the previous posts in this series. Robert C.… Continue reading Clean Architecture: Standing on the shoulders of giants

Advertisements
Architecture, Craftsmanship

Clean Architecture Is Screaming

Uncle Bob's Clean Architecture keeps your application flexible, testable, and highlights its use cases. But there is a cost: No idiomatic framework usage! Welcome to the fifth installment of little architecture series! So far we have covered layers, hexagons, onions, and features. Today, we’ll look at a close friend of all four – Uncle Bob’s Clean Architecture, initially introduced here.… Continue reading Clean Architecture Is Screaming

Chưa phân loại, Craftsmanship

TDD – From the Inside Out or the Outside In?

Often the hardest part of programming is knowing where to start. With test-driven development the right place to begin is with a test, but when faced with a blank page, it can be daunting. Is it best to start with the detail of what you are building, and let the architecture form organically using an… Continue reading TDD – From the Inside Out or the Outside In?

Chưa phân loại, Craftsmanship

Vertical vs Horizontal Approaches

In the light of delivering outcomes, we should consider the respective merits of horizontal and vertical approaches.  The more common (and not necessarily incorrect) approach is to slice a problem horizontally and build layers to a stack based on objectives with clear left and right parameters.  This not meant to imply that there is a… Continue reading Vertical vs Horizontal Approaches

Chưa phân loại, Craftsmanship

xDD: An Overview

I don’t know if it’s more comical or tragical to see all those xDD combinations that exist in software development. By “xDD” I mean any one of TDD, BDD, DDD, RDD, FDD, etcetera. Software developers often make fun of this our tendency to suffix everything with “DD”. I have three points to make about this:… Continue reading xDD: An Overview

Chưa phân loại, Craftsmanship

Combining TDD/BDD with DDD

Its not unnatural to think that the prototypical xDD combinations (TDD, BDD, DDD, and friends) are somehow in competition with each other. If you are unsure of their exact meanings, why wouldn’t you believe that TDD is in opposition to BDD and DDD? I mean, they all mean “Hmmhmm Driven Design/Development”. How many things can… Continue reading Combining TDD/BDD with DDD

Chưa phân loại, Craftsmanship

Summary of The Mythical Man-month

Chapter 1 “The Tar Pit” Pg. 4 In software development, no one thing seems to cause the difficulty, but the accumulation of simultaneous and interacting factors brings slower and slower motion. Pg. 5 Developing a professional system is 9 times the cost and time of an amateur development of the same system. Pg. 7-9 Joys… Continue reading Summary of The Mythical Man-month