General guidelines for cross-cutting concerns
There are some general guidelines that we can follow when designing solutions for the cross-cutting concerns that we need in our applications.
Identifying cross-cutting concerns
As an initial step, software architects must be able to identify the cross-cutting concerns. By recognizing common functionality across modules and layers of the system, we can consider how concerns can be abstracted so that they are not duplicated. In some cases, the common functionality is identical among its different usages, while in others, refactoring may be involved to make the logic generic enough to be reusable.
Using open-source and third-party solutions
Once cross-cutting concerns have been identified, implementations must be provided for them. Software architects should consider solutions that have already been developed, such as open-source or third-party solutions, to satisfy the needs of cross-cutting concerns. Prior to spending resources developing an in-house...