MermaidJS for Diagrams

I’ve discovered a really easy way for writing diagrams - MermaidJS. I’ve found it to be a handy way for easily diagramming workflows, or when planning out new architecture for projects. Here’s some examples of little ways you can use it easily. ...

March 9, 2022 · 5 min

Quick Primer: Separation Of Concerns

Separation Of Concerns is a fundamental concept in software engineering and design that promotes breaking down a complex software system into distinct and manageable parts, each of which addresses a specific aspect or concern of the application. This separation helps make the software more modular, maintainable, and easier to understand. Here’s a quick primer of the key ideas behind the Separation of Concerns. ...

January 16, 2022 · 2 min

Quick Primer: SOLID

Thought it might be a bit of fun to jot down a quick primer for SOLID principles - helpful if you have an exam and need to crunch. ...

January 10, 2022 · 4 min

Using UML for Domain-Driven Design

While it is definitely a lot less common to see people using Unified Modeling Language (UML) in software businesses these days, I believe it can be a valuable tool for planning and implementing Domain-Driven Design (DDD) principles. DDD is an approach to software development that focuses on understanding and modeling the problem domain, and UML provides a set of notations and diagrams that can assist in this process. Let’s delve into the reasons why it can be helpful. ...

December 17, 2021 · 3 min

SOLID and Domain Driven Design Together

Consider yourself not just a software developer but an architect of complex software systems. In this realm, you have at your disposal a set of powerful guidelines known as SOLID principles, designed to enhance the structure and maintainability of your code. These principles go hand in hand with Domain-Driven Design (DDD), a methodology that focuses on aligning software solutions with the intricacies of a specific problem domain. SOLID principles act as a foundation for your coding practices, ensuring that your software is not only robust but also adaptable to changing requirements. When incorporated alongside DDD, they contribute to the creation of well-structured and maintainable software solutions. In this exploration, we’ll delve into how SOLID principles can seamlessly integrate with DDD, providing a holistic approach to building software that is both powerful and flexible, capable of addressing the nuances of the problem domain it serves. ...

October 1, 2021 · 3 min