JAVA模式解析:开闭原则与工厂模式

需积分: 9 6 下载量 162 浏览量 更新于2024-08-02 收藏 398KB DOC 举报
"JAVA模式的读书笔记" 在编程领域,设计模式是解决常见问题的经验总结,它们代表了在特定上下文中经过验证的解决方案。本笔记主要关注JAVA中的设计模式,分为模式原则和创建模式两个部分。 第一部分:模式原则 1. 开闭原则:设计应允许对扩展开放,对修改关闭。这意味着在不改变原有系统的基础上,可以添加新功能,以适应变化的需求。 2. 里式代换原则:子类应当能够替换其基类,并在任何基类可以使用的地方都能正常使用,保持软件结构的稳定性和可扩展性。 3. 依赖倒转原则:设计时应依赖于抽象接口,而非具体的实现类,这样可以降低耦合度,提高系统的灵活性。 4. 合成/聚合复用原则:优先使用对象的组合或聚合,而不是继承来实现代码复用,因为继承可能导致紧耦合。 5. 迪米特法则:减少类之间的交互,每个类只和它的朋友(直接依赖的类)通信,降低系统的复杂性。 6. 接口隔离原则:接口应该小而专,避免提供大而全的接口,使得客户端只需关注需要的方法。 第二部分:创建模式 创建模式关注的是对象的创建过程,分为简单工厂模式和工厂方法模式。 一、简单工厂模式(SimpleFactory) 1. 方法:通过静态工厂方法根据输入参数创建相应实例。 2. 适用场景:当产品类型较少,且无需频繁更改时,简单工厂模式简洁易用。 3. 优缺点:优点是简化了客户端代码,缺点是工厂类难以扩展,不符合开闭原则。 二、工厂方法模式(Factory Method) 1. 方法:将对象的创建过程委托给子类,每个子类负责创建特定类型的对象,实现了创建过程的解耦。 2. 适用场景:当需要创建的对象种类较多,或者未来可能增加新的种类时,工厂方法模式提供了更好的扩展性。 3. 优缺点:优点是提高了灵活性,符合开闭原则;缺点是增加了类的数量,系统复杂度稍有提升。 在实际开发中,理解并合理运用这些模式可以帮助我们构建更稳定、可维护的系统。不过,设计模式并非银弹,过度使用也可能带来反效果,因此在使用设计模式时,需要根据实际情况权衡利弊,确保其与具体需求紧密结合。