User:Busted-Janum/sandbox

When designing software system, both high level system design/architecture or lower level design like modeling classes. It never a god idea to display the internal models to the users or outside world. In object oriented design (OOD) this is called Information Hiding, the essence of this anti-pattern is the same.

The issues with designing systems as Inside Out is that maintains and refactoring will be difficult and it will be impossible to know the consequences to users and other systems of internal changes.

The name Inside Out comes from the fact that solutions suffering from this, displays the inner most private parts, or guts, to the outside world. And there for moving the guts to the surface.

In legacy systems one central database, and one data model that contain the whole world is typical. The consequence of this that it becomes close to impossible to changes the database and therefor data modeling becomes an obstacle that no-ones wants to take on. Making an simple error will be almost impossible to fix in the future, so you will live with errors and issues in the data model for ever and it is not easy to understand the design of the system, so new people will have a hard time to understand why thinks are as the are.