Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Building Reliable Component-Based Software Systems
Building Reliable Component-Based Software Systems
A Metrics Suite for Object Oriented Design
IEEE Transactions on Software Engineering
On the criteria to be used in decomposing systems into modules
Classics in software engineering
Hi-index | 0.01 |
Good software design practice calls for minimizing coupling and maximizing cohesiveness. The use of roles in CBSE has been shown to help in achieving the abovementioned design goal. The idea of role-based component design is that the public interface is split into smaller interfaces that model the different roles a component can take in a system. In addition, we have the design pattern facade which is just opposite to what role-based design philosophy advocates. Yet both design approaches claim to reduce the overall complexity of the system. In this paper we make an investigation into these two design approaches in order to understand how these two contradictory design principles can help the designer in managing complexity.