设计模式
文章平均质量分 90
常见的设计模式
collman
这个作者很懒,什么都没留下…
展开
-
抽象工厂模式
意图:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。主要解决:主要解决接口选择的问题。何时使用:系统的产品有多于一个的产品族,而系统只消费其中某一族的产品。如何解决:在一个产品族里面,定义多个产品。关键代码:在一个工厂里聚合多个同类产品。原创 2024-09-19 07:57:35 · 930 阅读 · 0 评论 -
单例模式(Singleton Pattern)
它基于 classloader 机制避免了多线程的同步问题,不过,instance 在类装载时就实例化,虽然导致类装载的原因有很多种,在单例模式中大多数都是调用 getInstance 方法, 但是也不能确定有其他的方式(或者其他的静态方法)导致类装载,这时候初始化 instance 显然没有达到 lazy loading 的效果。描述:这种方式能达到双检锁方式一样的功效,但实现更简单。描述:这种方式具备很好的 lazy loading,能够在多线程中很好的工作,但是,效率很低,99% 情况下不需要同步。原创 2024-08-29 11:05:53 · 994 阅读 · 1 评论 -
工厂模式(Factory Pattern)
意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。主要解决:主要解决接口选择的问题。何时使用:我们明确地计划不同条件下创建不同实例时。如何解决:让其子类实现工厂接口,返回的也是一个抽象的产品。关键代码:创建过程在其子类执行。应用实例:您需要一辆汽车,可以直接从工厂里面提货,而不用去管这辆汽车是怎么做出来的,以及这个汽车里面的具体实现。Hibernate换数据库只需换方言和驱动就可以。优点:原创 2024-09-06 08:24:24 · 684 阅读 · 0 评论 -
装饰器模式
装饰器模式(Decorator Pattern)允许向一个现有的对象,同时又。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。装饰器模式通过将对象包装在装饰器类中,以便动态地修改其行为。这种模式创建了一个装饰类,用来包装原有的类,并在的前提下,提供了额外的功能。原创 2024-08-23 10:15:25 · 550 阅读 · 0 评论