Filter体现了一个模式“责任链模式”,Servlet体现了一个模式“模板方法”
还有java中的int 存了一些常用的128个值 ,这也是一个享元模式的应用。
83. 就像你买电视一样,你现在面对的不是电视,你面对的是一个集团,你对集团说我要一台电视。
84. 我要一台电视,你把一台电视给我就行了,我不会去管怎么生产的。
85. 其实工厂的作用就是创建产品,把产品的创建过程给隐藏了,如果没有工厂你自己要面对产品,这个类new的过程就是创建,你自己new你肯定要知道你才能new,你要知道的话,你对他就有依赖了,有了工厂你就不知道他怎么new的了。
86. 工厂是稳定的,就像你如果要做产品,你不可能依赖人,公司也不可能依赖一个人,人是不稳定的,我做产品,肯定找公司,找人的话,说不给我做了,就不给我做了。
87. 我们来面对工厂,工厂模式其实就是隐藏产品创建细节,比如说型号一的电视机淘汰了,要升级了,你到工厂里面去改,我拿到的我不管了,你升级就升级吧。
88. 工厂只有两种,工厂方法和抽象工厂,其他的都是不标准的,变种,跟病毒一样。
89. 通俗地说一下,模式其实就是加入了一个间接层
加入间接层,我对他就没有依赖了。
90. 我要什么型号的电视,扔到工厂里面去,你给我创建了,
91. 开闭原则,对扩展是开放的,对修改是关闭的,这是一种最最理想的状态。
92. 缺点:只能创建单一产品系列,其实这也并不是说是什么缺点,只是他的一个适应场景。就好像我们以前说的model1 model2我们不能就说model1就差,电视就是一个系列,如果你现在加入一个笔记本电脑,他就创建不了了。
93. is-a 我完全实现了你,并没有任何扩展
is-like-a 我实现了你,但我还扩展了,就像你的意思
has-a 持有对象的一个引用。
94. 里氏代换原则(LSP):任何类出现的地方,子类一定可以出现(is-a),这就是鼓励你用 完全实现的方式,而不是要你扩展。
95. 你看我们现在依赖于jdbc,依赖的是抽象,依赖他的接口,没有什么具体的实现 。我没写oracle的包,也没有写oracle的类。
96. 最好把接口里面的方法归一下类,如果你一个接口定义100个方法,如果一个方法有问题其它99可能就都不能用了,怎么办,分离成10个不就好了。
97. 其实接口隔离原则和迪米特法则说的是一个意思
98. 原则归原则,最后开发还是采用一个折中的方案来做,各自取得平衡就好了。
99. 不要为了模式而模式,为了原则而原则。
100. Dao设计模式,不属于Gof设计模式,属于j2ee设计模式,dao也是gof的一种特殊情况,是哪一种呢?策略模式,策略模式的意图就是可以替换,比如你去机场,你可以坐公交去,也可以打车去。
dao模式的意图,隐藏数据访问细节。
7. 利用反射和配置文件,结合工厂来搞就能达到最大的可重用性。
8. 在实际应用中,没有用标准的王勇画的那样的工厂图的方式来创建类的,其实没有多大意义。
9. 还不如直接把ItemDaoMySql配置到配置文件里,你还来个工厂 ,没有多大实际的意义。如果你要oracleDao我配进去就可以了啊。
10. 标准的GoF工厂方法模式,在实际中使用很少,因为工厂这一块是可以省略的,可以直接产品配置到配置文件中,标准的工厂方法模式图,主要便于我们理解模式,不应该生搬硬套的来使用它,不是说模式图怎么样,你就怎么用,你要真正理解透了,才能拿来用。
37. servlet对应一种设计模式,模板方法模型,设计模式,重复强调可重复利用的解决方案。
38. 了解模板方法和servlet的关系。
40. 子类的调用行为不是由自己控制的,而是父类来管理了,这不就是控制反转嘛,也就说抽象方法它的调用不是由子类控制的,反转给父类控制其调用,这个称为控制方向反转。
17. jndi他会以目录树的形式来管理对象,你看我们写连接池的时候,我也没写哥们你给我去找dbcp啊,我现在用dbcp,你没有这样声明吧,其实他就是一个工厂 ,什么叫工厂 呢?你可以这样理解,只要他隐藏产品创建细节,他就是一个工厂。这种工厂 不是那么绝对的一定要跟那个图一模一样,不是这样的,你要深层理解那个设计模式的话,他这个工厂就是隐藏产品创建细节。
18. 你只要拿到DataSource就可以了,你管他下面是什么呢?
分享到:
相关推荐
另一方面,基于Java的设计模式则更紧密地结合了Java语言的特性,或者是在面向对象技术在Java中的深入应用。尽管软件开发设计模式相对独立于J2EE,但它们往往比J2EE设计模式更为重要,原因如下: 1. **成熟度**:...
Java设计模式是软件工程中的一种最佳实践,它提供了一套标准的解决方案,用于解决在编写可维护、可扩展和高效代码时经常遇到的问题。这些模式是经验丰富的开发者们在面对相似问题时,经过反复试验和优化后总结出的...
Java设计模式是软件工程中的一种最佳实践,它总结了在特定场景下解决常见问题的经验,为程序员提供了可重用的解决方案。本资料“《java设计模式》课后习题模拟试题解答——刘伟.zip”主要涵盖了Java设计模式的学习与...
Java设计模式是软件工程中的一种最佳实践,它提供了一套标准的解决方案,用来解决在软件设计过程中经常遇到的问题。设计模式并非具体的代码或库,而是经验丰富的开发者在长期实践中总结出的常见问题的通用解决方案。...
在软件开发领域,设计模式是一种经过时间考验、被广泛接受的解决方案模板,用于解决在编程过程中经常遇到的问题。特别是在Java这样的面向对象语言中,设计模式是提高代码可重用性、可读性和可维护性的关键工具。本...
Java设计模式是软件工程中的一种最佳实践,它提供了一种在特定情况下解决常见问题的模板。这些模式来自于经验丰富的开发者们在实际项目中遇到的问题及其解决方案,并被广泛接受和使用。设计模式并不是具体的代码或库...
Java设计模式是软件开发中的重要概念,它是一种在特定情境下解决问题的经验总结,可以提高代码的可重用性、灵活性和可维护性。本高清教程深入浅出地讲解了Java中的各种设计模式,对于提升开发者的技术能力和面试表现...
在Java中,总共有23种设计模式,这些模式被分为三大类:创建型模式、结构型模式和行为型模式。 **创建型模式**关注的是对象的创建过程,它们旨在简化对象的实例化,同时提供对对象创建的控制。创建型模式包括: 1....
策略模式是一种行为设计模式,它使你能在运行时改变对象的行为。在Java中,策略模式主要通过定义一系列的算法,并将每一个算法封装起来,使它们可以互相替换,让算法独立于使用它的客户而变化。 首先,策略模式的...
Java设计模式是软件工程领域中一套被广泛认知和使用的标准解决方案,用于解决在软件设计中遇到的特定问题。设计模式可以提高软件开发的效率、可读性和可维护性。在面向对象的编程语言Java中,设计模式通过利用Java...
Java设计模式是软件开发中的一种最佳实践,它们是经过时间考验、被广泛接受的解决方案,用于解决在编写可维护和可扩展的Java应用程序时经常遇到的问题。这些模式提供了通用的框架,可以用来解决特定问题,使得代码...
Java设计模式是软件工程中的一种最佳实践,它提供了一套标准的解决方案,用来解决在编写可维护、可扩展和高效代码时经常遇到的问题。这些模式是经验丰富的开发人员在面对相似问题时经过长期实践和总结得出的智慧结晶...
根据提供的标题、描述以及部分内容,本文将深入探讨Java设计模式,并着重分析23种常见的设计模式,以帮助Java程序员更好地理解和应用这些模式。 ### Java设计模式概述 Java设计模式是面向对象软件设计的一种通用可...
Java设计模式是软件工程中的一种最佳实践,它们是解决常见编程问题的经验总结,旨在提高代码的可重用性、可维护性和可扩展...所以,如果你正在学习或工作中遇到设计模式相关的挑战,这个资源将会是极其宝贵的参考资料。
在Java开发中,设计模式可以分为三类:创建型模式、结构型模式和行为型模式。创建型模式主要关注如何创建对象,结构型模式着重于对象和类的组合,行为型模式则专注于对象间的通信。 创建型模式包括如下几种: - ...
在软件开发领域,设计模式是一种被广泛认可且经验证有效的解决方案,它们可以帮助开发者解决在设计过程中遇到的各种常见问题。本篇文章将详细介绍几种常见的Java设计模式及其背后的原理,包括单一职责原则(SRP)、...
Java设计模式是软件工程中的一种重要思想,它总结了在编写可复用的、高质量的软件时遇到的一些常见问题,并提供了标准的解决方案。这个压缩包包含的资源可以帮助开发者深入理解和应用设计模式。以下是对这些资源的...