单例模式:一定要注意定义私有的构造函数,而且考虑到多线程环境,一定要在getInstance方法上加同步,当然如果定义属性的时候就已经new出单例对象就不会出现同步问题,具体例子,网上很多了。
工厂模式:简单工厂模式直接返回具体的对象实例了;抽象工厂模式返回的是抽象的定义,具体返回的对象由其子类去实现。
代理模式:简单代理模式,要定义接口、代理类、被代理类。相当于依赖注入,把被代理的对象作为一个属性放到代理对象中,然后需要调用被代理对象的方法时可以对其进行一些封装,例如:要叫老板审批,代理者秘书就可以在审批前后先做一些记录然后再调用老板的审批操作。
动态代理模式,主要利用java.lang.reflect包中的InvocationHandler和Proxy.newProxyInstance来实现的。定义一个被代理类实现一个接口,然后定义个代理类实现InvocationHandler,并且注入一个对象属性(也就是被代理类),这样在代理类的invoke方法中就可以对被代理类的实现进行封装。
调用如下:
RealSubject realSubject = new RealSubject();
Subject proxySubject = (Subject) Proxy.newProxyInstance(Subject.class.getClassLoader(),
new Class[] { Subject.class }, new ProxyHandler(realSubject));
System.out.println("===Without Proxy===");
doSomething(realSubject);
System.out.println("===With Proxy======");
doSomething(proxySubject);
适配器模式:定义一个接口,然后定义一个抽象类去实现这个接口并且实现空方法,定义几个子类继承该抽象类且覆盖父类中的某些方法达到本子类应有的功能。
模板模式(Templete):是先定义一个抽象类,实现一些方法,在这些方法中需要调用一个抽象方法,且这个抽象方法必须由子类决定实现的功能,定义多个子类去实现父类的抽象方法。感觉跟适配器模式很像,不一样的是适配器模式的抽象类都实现了所有的空方法,总的来说,还是抽象类跟接口直接的巧妙结合。
学的不深,先把理解的给加上,以后有空再上代码~~~
分享到:
相关推荐
### Java设计模式学习笔记 #### 1. 设计模式的七大原则 ##### 1.1 设计模式的目的 设计模式是一种解决特定问题的通用解决方案,它可以帮助开发人员编写出更高质量、更容易维护和扩展的代码。设计模式的目标在于...
在学习Java设计模式时,掌握其概念、应用、优点和缺点非常重要。设计模式是软件开发中经常使用的一种通用解决方案模板,用于解决特定上下文中的常见问题。它们源于设计模式的研究,通常被认为是软件设计中的最佳实践...
Java设计模式是软件开发中的重要概念,它是一种在特定情境下解决问题的经验总结,可以提高代码的可读性、可维护性和可复用性。这些模式是面向对象编程中的一种最佳实践,通过标准化的方式处理常见的设计问题。下面...
文档中描述的是Java设计模式学习笔记,目前涉及了7种设计模式,但没有具体指明这7种模式是什么,计划后续增加更多的模式。虽然文件内容中存在OCR扫描的识别错误,但不影响我们从整体上把握设计模式的脉络和学习方法...
定义: 结构说明: 相关概念: 接口: 接口与抽象类的区别: 面向接口编程: 功能: 时序图: 优缺点: 代码阐释:
这份"图解java设计模式_学习笔记"是针对Java开发者深入理解和应用设计模式的重要资源。在这里,我们将深入探讨Java设计模式的核心概念、分类以及它们在实际开发中的应用。 设计模式分为三大类:创建型、结构型和...
Java Design PatternsJava 设计模式学习笔记,简单易懂,每个模式都有相应的代码示列,帮助学习理解。在线阅读地址:设计原则创建型模式作用:将创建与使用代码解耦结构型模式作用:将不同的功能代码解耦桥接模式...
通过以上内容,我们可以看到韩顺平老师的Java设计模式笔记涵盖了设计模式的基础概念、常见面试题解析、设计原则等内容,并通过具体案例来阐述设计模式的实际应用价值,旨在帮助学习者深刻理解并掌握设计模式,从而在...
这份"根据《JAVA与设计模式》整理的笔记及示例代码"涵盖了Java语言和设计模式的核心概念,旨在帮助开发者理解和应用这些模式。 一、设计模式的基本概念 设计模式是对在特定情境下软件设计问题的解决方案的一种描述...
读书笔记:尚硅谷Java设计模式图解+框架源码剖析学习笔记
Java设计模式是软件开发中的一种最佳实践,它们是为了解决特定场景下的设计问题而发展起来的。23种设计模式被广泛应用于提高代码的可重用性、可读性、可维护性和灵活性。韩顺平老师的Java设计模式课程通过生活中的...
该项目是关于Html和Java设计模式的学习笔记与源码案例,共计81个文件,其中Java源文件46个,HTML文件17个,其他包括txt、jpg、properties和chm等类型文件。项目内容涵盖了结构型模式的学习总结,并附有相应的代码...
【Java学习笔记Markdown版】是针对Java初学者和进阶者的一份详尽教程,以Markdown格式编写,便于阅读和整理。Markdown是一种轻量级的标记语言,它允许用户使用易读易写的纯文本格式编写文档,然后转换成结构化的HTML...
Java实现23种设计模式学习笔记
以下是一些在尚学堂300Java设计模式部分学习笔记中涉及的设计模式的知识点: 创建型模式: 创建型模式主要解决对象创建的问题,确保系统的灵活性和封装创建细节。学习笔记中提到了5种创建型模式: 1. 单例模式...
本课程是使用Java来讲解设计模式,考虑到设计模式比较抽象,授课采用 图解+框架源码分析的方式 1) 内容包括: 设计模式七大原则(单一职责、接口隔离、依赖倒转、里氏替换、开闭原则、迪米特法则、合成复用)、UML...
Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle公司的一部分)于1995年发布。...Java学习笔记涵盖了这些核心知识点,通过深入学习和实践,你可以逐步掌握Java编程,并应用于实际项目开发中。
这个“Java版设计模式学习笔记”涵盖了多种设计模式,旨在帮助开发者更好地理解和应用这些模式。让我们深入探讨一下其中可能包含的关键知识点。 一、单例模式 单例模式确保一个类只有一个实例,并提供一个全局访问...
该项目是针对《HeadFirstDesignPatterns》设计模式书籍的Java实现源码笔记,总计包含771个文件,其中以Java源文件为主,共计711个,辅以少量C/C++语言代码和Markdown文档,旨在帮助开发者深入理解并掌握Java设计模式...