Architecture

C/C++ Games Engine

Managing Engine Updates in C/C++ Games Development

Games are generally developed on an engine library that is developed by a separate team, on a different lifecycle. Upgrading to a newer version of the engine during game development can be a pressure point – there may be improvements … Read More

Using Structure101 “modules” to control APIs in C/C++

Cross project API control can play a vital role in managing a well-organized codebase. In this post, we’ll take a look at how to achieve API control between projects using the Modules feature in Structure101 Studio. For a full walkthrough … Read More

Splitting a module based on usage by other modules

This is a scenario that I’ve been asked about by several Structure101 users. module C is used by 2 other modules A and B, and we’d like to split module C into 4 modules based on how classes are used … Read More

The value of codebase structure

Most experienced engineers would accept that there are attributes of a code base under the heading of “structure” or “architecture”, that make a substantial difference to the ease of development. However, since there is some cost to improving these attributes, … Read More

Disentangling .NET Namespaces

If architectural drift is addressed before monolithic code tangles have formed, the higher-level components can be disentangled by relatively low cost/risk relocation of classes between components. Otherwise more invasive class-level surgery is needed – this is possible with Restructure101, but … Read More

Making JUnit 4.8.2 tangle free – a possible solution

The purpose of this exercise was to use Restructure101 to solve tangles in JUnit version 4.8.2. … Read More

Structure101 New Feature: Class Name-map

The name-map is a feature that most users will not require. But, there are certain use cases where its use can be invaluable. For example: If you have a large volume of class to class transformations, you may notice the … Read More

Mapping Architecture Diagrams to Code – the “most specific pattern” rule

Architecture Diagrams in Structure101 are mapped to the physical code by patterns associated with each cell in the diagram. This enables the visual specification of rules that can then be applied to a specific version of your code so that … Read More

Structure101 3.1 – Software Architecture Sandboxing

Just released, Version 3.1 adds lots of new stuff to the Architecture perspective to make it much easier to discover the current structure and move classes or packages around to define a preferred architecture. First thing is a simple expand … Read More

Spring 2.5 Architecture Diagrams

I have updated the architecture diagrams for the just-released Spring 2.5. Any new or changed packages are highlighted (since 2.0.6). The diagrams are also online – if you pointed your IDE plugin at these after my previous entry, you will … Read More