`

javase模式3

阅读更多

十。代理模式:

   代理模式总的来说就是控制对象的访问。

  分为:远程代理,虚拟代理,保护代理

  远程代理:

           当你要取的别的JVM上的对象的来进行操作的时候。本地和远程对象在本地的一个虚拟对象进行访问,虚拟对象通过网络传给远程对象在它本地的一个虚拟对象,远程的虚拟对象再和具体的远程对象进行交互。rmi可实现这些步骤。

虚拟代理:

           当你在一个画面上要显示一幅画的时候,可能这幅画很大,要很长时间才能从网络上下载下来。这个时候你不想自己的界面显示停止,可以用到虚拟代理,当图片正在下载的时候,显示 “正在下载中”,当下载完成的时候 则显示图片。

当没有下载完成时,虚拟代理充当图片的角色

保护代理:

   你要访问的对象必须经过一个代理去转发。Java有内置的实现。

 

大致说下代理的类图结构:

                     

                          interface

                          doSomething()

 

                           ^             ^

                           |              |

                   实现  |       实现 |

                           |              |

                    具体实例       代理

 

                          ^              |

                           |              |有一个实例

                            ------------

这样的类图结构可以让访问具体实例的对象都可以访问代理,因为具体对象和代理实现了同一个接口

你可能说这和适配器模式不是差不多么,适配器模式实现了2个不同的接口,而代理实现了一个相同的接口。

 而java的内置的代理和这个有点区别,

                 接口 代理和真实对象都实现这个接口,代理现在不拥有一个真实对象的引用,而是拥有一个继承自invocationHandler接口的类,而这个类拥有一个真实对象的引用。

复合模式:

    就是很多模式在一起合作,典型的复合模式是mvc

分享到:
评论

相关推荐

    JavaSE_JavaSE学习资料_

    正则表达式则是文本处理中的强大工具,可用于数据验证和模式匹配。 总的来说,这个JavaSE学习资料包将引导开发者全面地学习Java语言的核心特性,掌握基本编程技巧,理解并运用集合框架、IO流等关键概念,从而具备...

    Javase 技术代码测试

    本项目针对JavaSE的多个核心知识点进行了综合性的测试,涵盖了线程、集合、内部类、设计模式、枚举、IO流以及自定义注解等多个关键领域。 1. **线程**:在Java中,线程是程序执行的最小单位,通过`Thread`类或者...

    javase阶段15个实战项目代码

    8. 设计模式:项目可能包含对单例、工厂、观察者等常见设计模式的应用,这些模式在解决特定编程问题时非常有用。 9. 异常处理:了解如何正确地捕获和处理异常,这是编写健壮代码的关键。 10. 注解与反射:通过使用...

    JavaSE常用知识代码实现

    3. **异常处理**:Java使用try-catch-finally语句块进行异常处理,可以捕获并处理程序运行时可能出现的错误,保证程序的健壮性。 4. **集合框架**:包括List、Set、Queue、Map等接口及其实现类,如ArrayList、...

    javaSE项目

    6. **项目组织与管理**:一个完整的项目会包含良好的代码结构和模块化设计,遵循一定的设计模式,比如单例模式、工厂模式等。此外,版本控制系统如Git的使用,Maven或Gradle构建工具的集成,以及单元测试和集成测试...

    JavaSE单例模式各种写法.doc

    ### JavaSE单例模式的各种实现方法 #### 一、懒汉式(线程不安全) **定义:** 懒汉式单例模式是最简单的实现方式之一,它的特点是第一次被调用时才实例化对象。 **代码示例:** ```java public class ...

    JavaSE25套习题(含答案)

    15. **设计模式**:单例、工厂、观察者、装饰者等设计模式是解决常见问题的标准方案,熟悉这些模式能够提高代码质量。 通过完成这25套习题,开发者不仅可以加深对JavaSE的理解,还能发现自己的薄弱环节,有针对性地...

    javase笔记.7z

    以上只是JavaSE部分核心知识点的概述,实际的“javase笔记.7z”文件可能包含更详细的讲解,如设计模式、JVM原理、并发编程进阶等内容。学习JavaSE不仅需要掌握这些基础知识,还要通过实践不断深化理解,才能成为一名...

    Javase项目

    同时,这也会涉及到一些设计模式,比如单例模式(`Singleton`)可能用于`Bank`类,工厂模式(`Factory`)可能用于创建不同类型的`Account`,等等。 总的来说,这个"Javase银行类源码"项目是一个很好的实践平台,...

    0-JavaSE课程介绍

    - **目标3:掌握Java中的异常处理** - 常见异常类型的分类与识别。 - 异常处理语句`try/catch/finally`的使用。 - `throw`与`throws`关键字的应用场景。 - 自定义异常的定义与抛出。 - **目标4:熟练掌握常用...

    JavaSE常见面试题-高级反射-JVM篇.pdf

    本文档涵盖了JavaSE中高级反射和JVM相关的知识点,包括Java中的反射机制、动态代理、设计模式、回收机制、JDK7和JDK8的区别、Jvm虚拟机原理等。 一、 Java中的反射机制 Java中的反射机制是指可以在运行时inspect和...

    javase 版的QQ源码

    3. **多线程编程**: - **并发处理**:为了实现聊天的实时性,源码中会有大量使用到线程,每个用户连接对应一个线程,处理其发送和接收的消息。 - **线程同步**:如使用synchronized关键字或Lock接口,防止并发...

    javaSE商品管理系统

    3. **Mysql5.5数据库**: Mysql是广泛使用的开源关系型数据库管理系统,5.5版本在性能和稳定性上都有显著提升。在这个商品管理系统中,Mysql存储了商品的相关信息,如商品ID、名称、价格、库存等。开发者可能使用...

    圣思园张龙老师讲的JAVASE的pdf文档,讲的非常详细

    3. **网络编程**:Java提供了丰富的网络编程API,如Socket和ServerSocket,使得开发者可以构建复杂的网络应用程序。讲义涵盖了TCP和UDP通信的基本原理,以及套接字编程的实践技巧,还有HTTP协议的理解和使用,帮助你...

    javaSE javaEE oracle 初学必备

    对于JavaEE,你需要了解其架构和生命周期,学习如何使用Servlet和JSP来处理HTTP请求和响应,理解MVC(模型-视图-控制器)设计模式。此外,EJB允许开发者创建可重用的业务组件,而JPA则是处理数据持久化的主要工具,...

    mysql+javaSE登录小作业

    3. DAO设计模式:用于封装数据库操作,解耦业务逻辑和数据访问。 4. Java图形用户界面(GUI):创建登录窗口,处理用户输入和事件响应。 5. 错误处理:异常捕获和处理,确保程序的健壮性。 这个项目对于初学者来说...

    javaSE课件

    11. **设计模式**: 学习如何在Java中应用常见的设计模式,如工厂模式、单例模式、观察者模式、装饰器模式等,可以提高代码的可维护性和复用性。 通过这个"javaSE课件",你将能够系统地学习以上各个知识点,并深入...

    javase_day01

    3. 每个类都会生成一个对应的.class文件,即使这些类在同一个.java文件中。 总的来说,Java的基础涵盖了语言的起源、主要架构、运行环境、开发工具以及基本的编程规范。理解这些概念对于初学者来说至关重要,因为...

    非常详细javaSE学习笔记.rar

    这份“非常详细JavaSE学习笔记.rar”压缩包显然是一份全面的Java SE学习资源,包含了从基础知识到高级特性的全方位讲解。下面,我们将详细探讨这份笔记可能涵盖的关键知识点。 1. **Java起源与环境搭建**:笔记可能...

    JavaSE项目企业员工管理系统

    此外,这个类可能还实现了数据访问对象(DAO)模式,通过DAO接口与数据库进行通信。在设计上,`StaffManager`可能遵循单一职责原则,使得每个方法专注于一项特定任务,从而提高代码的可读性和可维护性。 为了实现...

Global site tag (gtag.js) - Google Analytics