Software Engineering

BDD, TDD & DDD

All Driven DesignThere are different software design philosophies and methodologies. A good software architect should understand the difference between them. Hence, he could choose the right approach to solve the problem at hand and deliver a software. A software that meets its requirements specifications.

What is Data Driven Programming?

What is TDD?

What is BDD?

What is DDD?

Domain Driven Design (DDD) abstracts away both the User Interface (UI) and the data storage medium. Thus, it leads the business analysts and the programmers to focus on the domain knowledge and the business logic in the first place. It adds a layer of two way communication with domain experts. The resulting application core being built is therefore not coupled to neither the database schema nor the UI.

Where to use each paradigm?

At the end of this blog post, one should be able to tell the difference between each design paradigm and what each one is good for. Each software company develops its own philosophy according to the resources and tools available. There is no point in religiously following a certain paradigm, if it doesn’t lead in the end to a solution that solves the problem.

Advertisements

Leave a Reply

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

WordPress.com Logo

You are commenting using your WordPress.com 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