> Don't call us, we call you. --- ## Tags #HollywoodPrinciple #SoftwareDevelopment #ProgrammingConcepts #CodingPrinciples #SoftwareDesignPatterns --- ## See Also - [[Software Development]]: The Hollywood Principle is a fundamental concept in software development where less dependent modules are prevented from directly calling more dependent modules to ensure loose coupling. - [[Programming Concepts]]: The Hollywood Principle is a crucial programming concept that helps in managing dependencies between classes or modules in a program. - [[Coding Principles]]: Adherence to the Hollywood Principle can lead to cleaner, more manageable, and scalable code by controlling the flow of control between objects and reducing dependencies. - [[Software Design Patterns]]: The Hollywood Principle plays an important role in various software design patterns like Template Method, Strategy, and Observer. These patterns implement the principle to allow low-level components to hook themselves into a system but leave the high-level components determine when they are needed. - [[Loose Coupling]]: The Hollywood Principle promotes loose coupling by preventing lower-level components from depending on higher-level components. Instead, higher-level components dictate when lower-level ones should execute. - [[Dependency Inversion Principle]]: The Hollywood Principle is similar to Dependency Inversion Principle as both principles aim at decoupling software modules. However, while Dependency Inversion focuses on abstracting dependencies, the Hollywood principle deals with how these dependencies are managed. - [[Inversion of Control (IoC)]]: The Hollywood principle is basically an example of IoC where control flow of a program is inverted - it's not controlled by main logic but by the framework (higher level modules). - [[Observer Pattern]]: This pattern implements the Hollywood principle. Here, subjects (or observables) 'call' observers (or subscribers), instead of observers calling subjects. --- ## Parent - [[Software Design Principles]]: The Hollywood Principle is one of many software design principles that guide developers in creating well-structured, maintainable, and efficient software systems. These principles, including the Hollywood Principle, provide a theoretical foundation for making design decisions.