BCS SPA2017

Layers, Abstractions & Big Balls of Mud: Revisiting the Onion Architecture

Sharing of lessons learned from creating Big Balls of Mud and how to avoid them going forward

Case study

Abstract

A journey through common ways web applications are architected and the typical problems they encounter during their lifetimes. Where should the business logic live and how do we stop it from leaking into the UI or even worse data access? We've all seen stored procedures that do more than query or update but perform complex business calculations.
In this session we'll look at different examples of good and bad web application architectures from real-world experiences and why you might consider using Onion\Hexagonal to address problems like coupling and separations of concerns as we strive for a clean architecture.

We work through three different styles reviewing their pros and cons.

Audience background

Aimed at intermediate\advanced developers
Examples will be in .NET though the theory is agnostic

Benefits of participating

Understand factors that lead to a "Big Ball of Mud"

Materials provided

Slides and code demo

Process

Presentation with an opportunity to ask questions at any time

Detailed timetable

00:00 - 00:10 Introduction
00:10 - 00:25 Architecture style 1 (n-tier) + demo
00:25 - 00:40 Architecture style 2 (Onion) + demo
00:40 - 00:55 Architecture style 3 (Ports + Adapters) + demo
00:55 - 00:70 Conclusions + questions

Outputs

Slides available to download, code available on Github

History

None

Presenters

  1. Naeem Sarfraz
    Deliver That Ltd