Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Cross Cutting Concerns are a little bit different. These should be invisible to the users, but very helpful to the developers. Any Bounded Context may depend on any mix of Cross Cutting Concerns. This part is ok to be a web of dependencies, they are often external projects/libaries libraries we have selected for use all throughout Besu.

...

  1. Pick relevant modules for abstraction against the goals outlined in our Modularity Design. A good consideration is the rule of threes: we should only abstract a module when we have a need for it in three contexts.
  2. Begin work on one abstraction 
    1. Document approach 
    2. Design implementation of interface or inversion of control
    3. Review software engineering practices with the working group
    4. Review code changes and implementation details with working group
  3. Define success criteria for remaining modules
  4. Template design work from one slice and share learnings
  5. Determine remaining modules (what needs new abstraction, against our goals) 
  6. Create working group plan and divide discuss division of work

Proof of Concept:

Introduce Inversion of Control to implement a vertical slice of functionality. We need to find a feature that touches on a few cross-cutting concerns, but just one Bounded Context.

...