33rd Degree 2014 - Where's your Architecture? - Chris Chedgey
When a code-base grows beyond a certain size, any original arrangement of source files (or architecture) is often lost. The developers also become lost, and start drowning in the ever-expanding sea of classes.
Usually the underlying code – the classes – are in reasonable shape. The problem is that there are too many classes to understand without any higher-level guiding structure, and physical structures (such as packages or jars) have become a tangled mess.
The good news is that it is generally perfectly feasible to organize existing classes into a modular hierarchy with minimal impact on the implemented code. This is far less expensive than starting over, and more likely to succeed! A code-base with a clearly communicated, cogent architecture is much more valuable than a Big Ball of Mud, and developers will love the result.
The process of architecture discovery/development requires the use of “code-first” modeling tools such as Structure101, Lattix, SonarGraph, etc., which parse the as-is code and capture the containment and dependency structures. This model can be manipulated to organize classes into a new containment hierarchy by reusing useful aspects of the existing physical structures, and/or assembling together cohesive clusters of classes from the bottom-up.
Once a measurably well-structured containment model is in place, the allowable visibility and dependencies between groups of classes can be defined, and the code refactored as needed to make it conform. The alignment of the physical structures can follow once the implementation-level code already conforms to the target architecture.
Видео 33rd Degree 2014 - Where's your Architecture? - Chris Chedgey канала 33rd Degree
Usually the underlying code – the classes – are in reasonable shape. The problem is that there are too many classes to understand without any higher-level guiding structure, and physical structures (such as packages or jars) have become a tangled mess.
The good news is that it is generally perfectly feasible to organize existing classes into a modular hierarchy with minimal impact on the implemented code. This is far less expensive than starting over, and more likely to succeed! A code-base with a clearly communicated, cogent architecture is much more valuable than a Big Ball of Mud, and developers will love the result.
The process of architecture discovery/development requires the use of “code-first” modeling tools such as Structure101, Lattix, SonarGraph, etc., which parse the as-is code and capture the containment and dependency structures. This model can be manipulated to organize classes into a new containment hierarchy by reusing useful aspects of the existing physical structures, and/or assembling together cohesive clusters of classes from the bottom-up.
Once a measurably well-structured containment model is in place, the allowable visibility and dependencies between groups of classes can be defined, and the code refactored as needed to make it conform. The alignment of the physical structures can follow once the implementation-level code already conforms to the target architecture.
Видео 33rd Degree 2014 - Where's your Architecture? - Chris Chedgey канала 33rd Degree
Показать
Комментарии отсутствуют
Информация о видео
Другие видео канала
![33rd Degree 2014 - Crazy and Focused - Daniel Steinberg](https://i.ytimg.com/vi/p1rGUchWHR8/default.jpg)
![33rd Degree 2012 - Complexity of Complexity - Ken Sipe](https://i.ytimg.com/vi/DGGLy1A5O3I/default.jpg)
![33rd Degree 2014 - Power to the Programmers - Tom Gilb](https://i.ytimg.com/vi/dXbVXMXvYy8/default.jpg)
![33rd Degree 2014 - Think For Yourself - Mary Poppendieck](https://i.ytimg.com/vi/WfM7HuMeTSk/default.jpg)
![33rd Degree 2014 - Exploring Nashorn - Venkat Subramaniam](https://i.ytimg.com/vi/lZgbTAZwerc/default.jpg)
![33rd Degree 2014 - Eclipse: The Next Ten Years - Mike Milinkovich](https://i.ytimg.com/vi/lzEHG0XMer8/default.jpg)
![33rd Degree 2014 - How we use GitHub to continuously integrate GitHub - Ben Lavender](https://i.ytimg.com/vi/8Y_Um3huW-4/default.jpg)
![33rd Degree 2014 - High Performance Reactive Applications with Vert.x - Tim Fox](https://i.ytimg.com/vi/4xUUP1-uwoQ/default.jpg)
![33rd Degree 2014 - Go Reactive: Blueprint for Future Applications - Roland Kuhn](https://i.ytimg.com/vi/IGW5VcnJLuU/default.jpg)
![33rd Degree 2012 - MongoDB: Scaling Web Application - Ken Sipe](https://i.ytimg.com/vi/qLrklBqIZnQ/default.jpg)
![33rd Degree 2014 - Managers are from Mars, Developers are from Venus - Ted Neward](https://i.ytimg.com/vi/oV0t9isKhq8/default.jpg)
![33rd Degree 2014 - Demystifying invokedynamic - Venkat Subramaniam](https://i.ytimg.com/vi/262lTMIpYQE/default.jpg)
![33rd Degree 2014 - JavaScript Design Patterns - Pratik Patel](https://i.ytimg.com/vi/8ii868uKjII/default.jpg)
![33rd Degree 2014 - MongoDB Schema Design - Tugdual Grall](https://i.ytimg.com/vi/csKBT8zkRf0/default.jpg)
![33rd Degree 2014 - Busy Java Developer's Guide to JVM Bytecode - Ted Neward](https://i.ytimg.com/vi/52XMd5tCEnQ/default.jpg)
![33rd Degree 2014 - Rethinking packaging, modularization, interfaces with plain Java EE 7 - Adam Bien](https://i.ytimg.com/vi/0g_VwojiENY/default.jpg)
![33rd Degree 2012 - Twitter: From Ruby on Rails to the JVM - Raffi Krikorian](https://i.ytimg.com/vi/dq7F51YLoxU/default.jpg)
![33rd Degree 2012 - Pointy haired bosses and pragmatic programmers - Venkat Subramaniam](https://i.ytimg.com/vi/lfmKvRaNnUs/default.jpg)
![33rd Degree 2014 - The Joy of Functional Programming - Venkat Subramaniam](https://i.ytimg.com/vi/__dDAD0Y_WU/default.jpg)
![33rd Degree 2014 - JavaScript, the Assembly Language of the Web - Kito Mann](https://i.ytimg.com/vi/o6wh9HtP6v8/default.jpg)