使用过的一些Java设计模式包括:
- 单例模式(Singleton Pattern):确保一个类只有一个实例,并提供一个全局访问点。常用于日志记录、数据库连接等。
示例:在一个多线程的应用中,使用单例模式来管理线程池,确保只有一个线程池实例。 - 工厂模式(Factory Pattern):通过一个工厂类来创建具体的对象,封装了对象的创建细节。常用于创建数据库连接、文件读写等。
示例:创建一个图形对象的工厂类,根据不同的参数创建不同的图形对象,如圆形、矩形等。 - 观察者模式(Observer Pattern):定义了对象之间的一对多依赖关系,当一个对象状态改变时,它的所有依赖对象都会收到通知并自动更新。常用于事件监听、消息订阅等。
示例:在一个电商网站中,当用户下单成功后,通知库存管理系统减少商品库存。 - 适配器模式(Adapter Pattern):将一个类的接口转换成客户端所期望的另一个接口,使原本不兼容的类可以一起工作。常用于系统升级、接口兼容等。
示例:将一个第三方支付接口适配成系统内部统一的支付接口,使得系统可以无缝切换不同的支付方式。 - 策略模式(Strategy Pattern):定义一系列算法,将它们封装起来,并使它们可以互相替换。常用于业务规则的动态切换、算法扩展等。
示例:在一个电商网站的促销活动中,根据不同的销售策略(如满减、折扣),对商品价格进行不同的计算。 - 模板方法模式(Template Method Pattern):定义一个操作中算法的框架,将一些步骤延迟到子类中实现。常用于流程控制、框架开发等。
示例:在一个爬虫框架中,定义一个抽象类,提供一系列爬取数据的方法,具体的爬虫子类只需要实现特定的抓取逻辑。
这些设计模式在实际应用中可以提高代码的复用性、扩展性和可维护性,帮助我们设计出更好的软件系统。