`
SunSteven
  • 浏览: 49373 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论
阅读更多
回调,模板设计模式,面向接口编程,封装变化几个概念的一致性。

回调的时候,一般把类作为参数,这个类一般设计为接口,接口的命名为XXcallback

在这个接口中,可以有以下选择
第一种,按照面向接口的思路,对变化进行封装,采用策略的设计模式,在外部单独有一个接口定义,然后在定义一个具体的类实现这个接口。
在使用的时候,直接将该父类的接口,更换为已经实现好的类,就可以了。

存在的问题是,传递参数的时候,如果在client需要将一些参数发送给外部定义的接口,在该接口中,对这些参数进行处理。那么就需要在实现类中,在构造函数中传人该参数,且有private 该参数定义。

我感觉因为在方法参数中传递类,一般不采用模板的子类来实现。


第二种方式。采用匿名类的方式。仍然有一个外部接口定义。及一个模板类(在方法上定义了该外部接口),在client端引用该模板类的时候,采用匿名类的方式来实现。这种方式的好处是在匿名类中,可以使用在模板类(client端)中的参数。这样书写的时候,就不要一个单独的外部类已经在外部类中采用构造函数传递参数了。

spring的检查性异常转为运行期异常
在java中的api,有一部分定义抛出异常(如连接物理资源等)。也有一部分是不抛异常(如string计算)
在应用这些有异常定义的java类时候,就需要catch这些检查性异常。如何规避这个很多不需要的catch动作,一般采用的方式如下。
在spring中,对dao的引用采用了xxdao extend XXtemplete。在该templete中,有应用java api。在该catch中,有throw新的dataaccessExcetption 。因为该类以及处理了catch,他的上层就不会在进行处理了。上层只会针对感兴趣的运行期异常进行处理就可以了。
这样就需要一个中间层(templete层,一个自己定义的运行期的异常,以及一系列子异常,在中间层中进行抛出)。

多线程,多实例,Tomcat中的多线程,多实例,ThreadLocal

根据目前理解,多线程应该就是线程类的多个实例。这个多实例是操作系统jvm进程来进行访问的。一般的多实例估计必须要与某一个线程关联起来,都在在一个线程中,多实例应该是没有意义的。因为在一个线程中,是顺序执行的。只有在不同线程,才用可能分时执行。


问题:A类,B,C类分别继承于A类。那么A中的实例变量在BC中会如何。
答:如果BC单独实例化之后,父类模板中的变量会在BC中单独持有。如果A类也要有,那么直接对A类进行实例化就可以。所以,如果ABC都要进行实例化,那么A中的实例变量会在3个类中都存在,不会产生冲突。类中写的方式,仅仅在A中,是为了人写的省事,但是在编译器中,是在不同的类中有不同的实例的。



分享到:
评论

相关推荐

    Java多线程编程实战指南 设计模式篇

    设计模式在多线程编程中起着至关重要的作用,因为它们提供了在特定情况下解决问题的标准模板。例如,单例模式在多线程环境中需要考虑线程安全,可以采用双检锁/双重校验锁定(DCL)或者静态内部类来实现线程安全的...

    项目所用到的多线程/网络编程/设计模式

    在IT行业中,多线程、网络编程和设计模式是三个至关重要的概念,它们在软件开发中扮演着核心角色。下面将分别对这三个方面进行详细解释。 首先,**多线程** 是指在一个程序中同时执行多个不同的线程,以提高程序的...

    Tesseract OCR多线程并发识别案例

    5. **错误处理**:多线程环境下,错误处理变得复杂。需要为每个线程设置异常处理机制,确保即使有线程出现错误,其他线程仍能继续执行。 6. **性能优化**:根据具体硬件环境调整线程数量,过多的线程可能会导致资源...

    java事务 - 模板设计模式

    而模板设计模式则是一种行为设计模式,它提供了一种方法的通用实现,允许子类在不改变整体结构的情况下,定制特定的步骤。当我们将这两种概念结合时,我们可以通过Template模式来优雅地处理事务的控制。 首先,让...

    易语言-常用多线程模板与鱼刺类多线程线程池应用小例子

    7. **错误处理和调试**:多线程编程中,错误处理和调试相对复杂,因为线程可能在任何时刻执行,导致问题难以复现。易语言提供了相应的调试工具和异常处理机制,帮助开发者定位和解决多线程问题。 通过学习这个...

    我的学习资料总结:类,接口,委托,多线程, 泛型,设计模式

    这里我们关注的是六个核心的编程概念:类、接口、委托、多线程、泛型以及设计模式。这些概念在各种编程语言中都扮演着重要角色,尤其对于初学者来说,理解和应用它们能够极大地提升编程能力。 1. **类(Class)**:...

    支持多线程和泛型的阻塞队列

    标题中的“支持多线程和泛型的阻塞队列”意味着我们讨论的是一个能够同时处理多个线程并能存储不同类型数据的队列实现。 ### 阻塞队列的基本概念 阻塞队列(Blocking Queue)是线程安全的数据结构,它结合了队列的...

    java的一些图片,网络编程,多线程,数据结构

    在Java编程中,设计模式是解决常见问题的模板,如单例模式、工厂模式、装饰器模式等。了解和应用设计模式可以提高代码的灵活性、可扩展性和可重用性。 这些知识点涵盖了Java编程的基础和进阶内容,对于理解和编写...

    C++面向对象多线程编程-pdf

    7. 设计模式在多线程环境的应用:如单例模式、生产者消费者模式、观察者模式等。 通过学习"C++面向对象多线程编程",你可以掌握如何在C++中构建高效、健壮的多线程应用程序,充分利用硬件资源,解决复杂的并发问题...

    C#缓存线程模板

    在IT行业中,缓存是一种非常重要的技术,它用于提高数据访问速度,降低系统负载,尤其在处理大量数据或频繁查询的场景下。...在C#中,利用.NET Framework提供的并发工具和设计模式,可以轻松实现这些功能。

    易语言-http多线程注册测试模板

    《易语言-http多线程注册测试模板》是一个专为网络编程设计的实用工具,主要针对HTTP协议进行多线程操作的测试。在这个模板中,我们可以深入理解如何在易语言环境中利用多线程技术来实现高效的网络请求,以及如何...

    设计模式面试题

    在软件工程领域,设计模式是一套被广泛接受的解决特定问题的解决方案模板。设计模式可以分为三大类:创建型模式、结构型模式和行为型模式。 **1. 常见的设计模式有哪些?** - **单例模式(Singleton)**:确保一个...

    C++多线程聊天程序代码

    C++作为一种强大的系统级编程语言,支持标准模板库(STL)以及C++11之后引入的多线程库,使得开发者能够方便地在C++中实现多线程编程。在多线程聊天程序中,通常会包含以下几个关键组成部分: 1. **线程创建**:在C++...

    RabbitMQ实战-多线程-springboot-rabbit.zip

    通过这个项目,你将学习如何在Spring Boot中集成RabbitMQ,使用多线程来提高消息处理效率,并理解如何设计和实现一个健壮的、高并发的消息处理系统。同时,这也会帮助你掌握如何在分布式环境中解决异步通信和数据...

    C++设计新思维:泛型编程与设计模式之应用

    《C++设计新思维:泛型编程与设计模式之应用》这本书深入探讨了C++语言在泛型编程和设计模式中的应用,对于理解和提升C++编程能力有着重要的指导价值。以下将围绕这些主题展开详细讨论。 一、泛型编程 泛型编程是...

    设计模式 及 开发规范手册.zip

    并发控制部分详细说明了如何在多线程环境下编写安全的代码;性能优化部分给出了关于减少内存消耗、避免阻塞操作、提高计算效率等方面的建议。 遵循这些规范可以提升代码质量,降低维护成本,同时也有助于团队间的...

    二十三种设计模式【PDF版】

    设计模式之 Template(模板方法) 实际上向你介绍了为什么要使用 Java 抽象类,该模式原理简单,使用很普遍. 设计模式之 Strategy(策略) 不同算法各自封装,用户端可随意挑选需要的算法. 设计模式之 Chain of ...

    C#设计模式大全

    在C#中,通常通过静态成员或双重检查锁定来实现单例,避免多线程环境下的并发问题。 2. 工厂模式:工厂模式提供了一种创建对象的方式,隐藏了具体的创建逻辑,使代码更加灵活。C#中的抽象工厂和简单工厂都是常见的...

Global site tag (gtag.js) - Google Analytics