模式java
① java B/S模式
在Java B/S开发模式有以下几种:
一、JSP+JDBC
这是最简单的一种开发模式是页面+逻辑处理,映射到技术上反应出来的有Jsp+Jdbc,在基于这类的实现中在View层也就是jsp页面上负责数据的显示、逻辑处理,结合jdbc完成数据的持久化,在小型的项目中,人们确实发现这种方式是最为方便的,但在复杂的项目以及需求不断变化的项目中,人们慢慢的发现这种方式造成了不少的问题,首先是调试的问题,想想在一个jsp页面中进行排错是多么的困难,其次是修改的问题,为了满足用户需求的一个小小的变化,都需要去改不少的页面,而且很多时候由于写的时间长了,自己都需要回忆很久才能想起是怎么回事,更不用说如果人员流动了会怎么样,同时还带来开发效率的问题,由于需要缺少足够的调试的支持,需要较为熟练的开发人员才能快速的完成,对于一般的人员来说需要一定的适应和学习过程,当然伴随而来的还有诸如修改界面的时候一不小心少了点代码什么造成的错,最大的问题可能还是重用的问题,通常会造成N多同样的代码在页面上来去的,总结下来在这种模式下有几个比较重大的问题就是:
1、调试问题。
2、维护问题,显示和逻辑处理在一起导致了修改显示的时候较为困难,至于修改代码则因为之前的调试问题导致了困难,同时由于逻辑均在页面上后期接手人员需要一段时间去理解。
3、代码重用性问题。
但同样它还是存在优点的,那就是可以很快的上手,但由于调试和维护性问题确实太大了,所以在现在也是基本不再采用这种方式了。
二、JSP+JavaBean
在经历了jsp+jdbc阶段后,开始考虑怎么样去解决上面三个问题,这个时候就诞生了诸JSP+JavaBean这样的技术体系,在这个体系中由jsp页面负责显示以及接收页面请求,并调用相应的JavaBean来完成逻辑处理,在获取其返回的处理数据后转到相应的页面进行显示。在这样的技术体系中,由于逻辑是由JavaBean来完成的,可以对其进行调试了,代码的重用性一定程度上也得到了提高。刚开始的时候用这样的技术体系确实发现比以前用jsp+jdbc爽了很多,但随着用多了,慢慢又发现了问题,那就是在页面中需要编写对于页面请求数据的获取,还得根据请求去调用相应的javabean,并根据javabean的处理结果转入相应的页面,这同样造成了修改的麻烦,毕竟是去页面上修改这些逻辑,总结下来在这种Java B/S开发模式下有比较重大的问题就是:
1、代码重用性以及维护性问题。但这里的代码重用性问题和jsp+jdbc的就不同,在逻辑处理部分现在已经可以重用了,但现在在各个页面就不得不重复的写获取页面请求的参数、相应的调用Model、根据Model的处理结果转发页面,这样的话就导致了在改的时候需要到处去找,造成了维护的复杂。
2、系统结构不清晰。毕竟仍然是在页面控制整个响应页面事件的处理流程,这个时候就造成了很多页面中出现完全相同的jsp代码,而且控制代码在页面,仍然是不便操作,例如对于JavaBean的调用等,而且由于获取javabean的数据需要转发的缘故,其实通常就是在最终的显示页面上加上上面的控制事件处理流程的代码,并没有真正的做到显示和处理的分离。
同样,它的优点在于分离了显示和业务逻辑处理,增强了可调试以及维护性,而且也是很容易上手的,对于小型项目来说仍然是可选的方案之一。
三、基于MVC Framework
在经历了上面的Jsp+JavaBean的Java B/S开发模式后,我们发现其实现在最需要的就是在jsp、javabean之间能有个东西自动完成页面请求数据的封装、根据请求调用相应的javabean、同时根据javabean的处理结果返回至相应的View,有了这样的思想后,发现smalltalk中的MVC思想很适合这种场景,于是便在Java B/S开发中引入了MVC思想,在这里也简单的介绍下MVC思想,MVC强调View和Model的分离,View所面对的是Controller,由Controller负责与Model进行交互,View只负责显示页面以及显示逻辑的处理,显示逻辑指的是诸如第一行要显示蓝色、第二行要显示红色这样的显示方面的处理,Controller负责接受页面请求,并将其请求数据进行封装,同时根据请求调用相应的Model进行逻辑处理,在Model处理后返回结果数据到Controller,Controller将根据此数据调用相应的View,并将此数据传递给View,由View负责将数据进行融合并最终展现。MVC带来的优点很明显的体现出来了,基于一个这样的MVC Framework的话开发人员可以按照一种固定的模式进行开发,规范了整个开发过程,提高了质量以及系统结构的清晰性,并由于保证了View/Model的分离,使得一个Model可以对于多种显示形式的View,需要的仅仅是去改变View和Controller。
按照MVC思想,最容易想到的实现方案莫过于jsp+servlet+javabean,在这里面jsp对应着View,servlet对应着Controller,javabean对应着Model,因为采用servlet可使用servlet container已经封装好的页面数据请求对象HttpServletRequest,这样就省去了自己封装页面请求数据的工作,作为Controller同时还需要承担根据请求调用对应的javabean,最简单的做法无非就是在Servlet中直接根据某种逻辑(诸如反射或接口)调用相应的bean进行执行,之后将HttpServletRequest、HttpServletResponse作为参数传入javabean进行处理,javabean从HttpServletRequest中获取请求数据,将返回的结果数据放入HttpServletResponse,整个过程结束后继续由Controller接手进行处理,这个时候作为Controller的servlet将根据处理的结果返回相应的页面,在这个模型使用时人们慢慢的发现了一个问题,那就是随着jsp、javabean的变化造成了controller的不断修改,需要修改其中调用相应javabean以及转发相应页面的部分,为了解决这个问题,首先想到的是应该分离根据请求调用相应javabean的步骤,这个时候采用了设计模式中的front controller+application controller的方法,front controller负责接受页面请求并进行封装,同时将此数据对象传递至application controller,由application controller来负责调用相应的bean,这样的设计其实都是遵循着一个设计原则,就是职责单一,通常实现application controller的模式是Command模式,在这种情况下MVC Framework的结构体系就演变成了view+controller(front+application)+model。
在完成了上述演变后慢慢又发现了一个问题,就是model依赖于了httpservletrequest,这样造成的一个问题就是没法测试,仍然要不断重启服务器来测试,当然与此同时的发展是model层的细化,细化成用于响应页面请求的action Layer+Domain Model Layer+Persistent Layer,在这里不去讨论后面层次的问题,因为作为MVC Framework它并不管你Model层是怎么个处理流程的。
慢慢也发现了另外一个问题,那就是变化经常要影响到controller的修改,于是便引入了采用配置文件的解决方法,编写action的配置文件,在配置文件中控制根据action的返回结果转入相应的View,这样的话在将来需要改变的时候只需要去改变这个配置文件就可以了,保证了Controller的稳定,这是典型的设计中的重点考虑因素,分离变化和不变化的,让变化造成的影响最小。
但在引入了上面的配置文件后,慢慢又发现了问题,那就是手写配置文件总是容易出各种各样的问题,这个时候采用图形化的界面来生成配置文件的想法又有了,这也就造就了page flow的诞生,当然,这只是page flow的一小部分功能。
当然,随着MVC的发展,也带动了其他相关技术的发展,如异步请求/响应模式(ajax、amowa)等。
② 用java如何实现一个模式对话框
在Javaapplet中实现模式对话框的关键就是在创建一个对话框的时候要为该对话框指定一个正确的父窗口.因为Applet是Panel类的子类,不可以作为对话框的父窗口,所以首先要获得applet所在的窗口,作为模式对话框的父窗口.样例代码如下:
.....
Dialogd=newDialog(getParentWindow(comp),title);
//comp为applet上的任意一个组件
....
publicvoidgetParentWindow(ComponentcompOnApplet,Stringtitle){
Containerc=compOnApplet.getParent();
while(c!=null){
if(cinstanceofFrame)
return(Frame)c;
c=c.getParent();
}
returnnull;
}
③ 什么是Java设计模式
阎宏的 <<JAVA 与模式>>
设计模式和具体是哪种语言关系不大吧。。。
ABSTRACT FACTORY 抽象工厂
BUILDER 生成器
FACTORY METHOD 工厂方法
PROTOTYPE 原型
SINGLETON 单件
ADAPTER 适配器
BRIDGE 桥接
COMPOSITE 组成
DECORATOR 装饰
FACADE 外观
FLYWEIGHT 享元
PROXY 代理
CHAIN OF RESPONSIBILITY 职责链
COMMAND 命令
等等等等。。。按JAVA的语言特性应该都可以实现的。。。
④ java模式有哪些
工厂模式, 工厂方法模式,单例模式, 外观(Facade)模式, 观察者(Observer)模式,桥接(Bridge)模式都是比较常用的,不同的项目有不同的设计方向,可以参考的设计模式也不尽相同,没有定数,只是上面这几个模式用的比较多一些。
⑤ JAVA23种设计模式
一、大约分为三类:
1、创建型模式(5种):工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式。
二、设计模式遵循的原则有6个:
1、开闭原则(Open Close Principle)
对扩展开放,对修改关闭。
2、里氏代换原则(Liskov Substitution Principle)
只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。
3、依赖倒转原则(Dependence Inversion Principle)
这个是开闭原则的基础,对接口编程,依赖于抽象而不依赖于具体。
4、接口隔离原则(Interface Segregation Principle)
使用多个隔离的借口来降低耦合度。
5、迪米特法则(最少知道原则)(Demeter Principle)
一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立。
6、合成复用原则(Composite Reuse Principle)
原则是尽量使用合成/聚合的方式,而不是使用继承。继承实际上破坏了类的封装性,超类的方法可能会被子类修改。
⑥ java常用的设计模式一共有多少种
1、正如上一位答主所言,java中存在23种面向对象的设计模式,分别是:
1)创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
2)结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
3)行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
2、他们遵从如下原则:
1)单一职责原则
2)里式替换原则
3)依赖倒置原则
4)接口隔离原则
5)迪米特法则
6)开闭原则
3、如果非要用几个简单的字来概括这繁杂的23种设计模式那就是“高内聚,低耦合”。
4、网络--23种设计模式,边研究原理,边敲代码,其义自见。
⑦ JAVA里什么是C/S模式什么是B/S模式
讲实际简单的吧,概念的东西,留给后面的人去网上复制粘贴~
c/s模式
就是客户端和服务器(client/server),现在的大多数进销存软件,企业管理软件都是利用客户端和服务器进行对连,实现数据库的操作的~
b/s模式
就是浏览器和服务器(browser/server),现在的网站就是这样的结构,你在家里一个浏览器就可以打开你们公司的网站,进行你们公司的后台管理,现在许多的oa系统都是做成b/s结构~
⑧ java中常用到得设计模式有哪几种
一共23种设计模式!
按照目的来分,设计模式可以分为创建型模式、结构型模式和行为型模式。
创建型模式用来处理对象的创建过程;结构型模式用来处理类或者对象的组合;行为型模式用来对类或对象怎样交互和怎样分配职责进行描述。
创建型模式用来处理对象的创建过程,主要包含以下5种设计模式:
工厂方法模式(Factory Method Pattern)
抽象工厂模式(Abstract Factory Pattern)
建造者模式(Builder Pattern)
原型模式(Prototype Pattern)
单例模式(Singleton Pattern)
结构型模式用来处理类或者对象的组合,主要包含以下7种设计模式:
适配器模式(Adapter Pattern)
桥接模式(Bridge Pattern)
组合模式(Composite Pattern)
装饰者模式(Decorator Pattern)
外观模式(Facade Pattern)
享元模式(Flyweight Pattern)
代理模式(Proxy Pattern)
行为型模式用来对类或对象怎样交互和怎样分配职责进行描述,主要包含以下11种设计模式:
责任链模式(Chain of Responsibility Pattern)
命令模式(Command Pattern)
解释器模式(Interpreter Pattern)
迭代器模式(Iterator Pattern)
中介者模式(Mediator Pattern)
备忘录模式(Memento Pattern)
观察者模式(Observer Pattern)
状态模式(State Pattern)
策略模式(Strategy Pattern)
模板方法模式(Template Method Pattern)
访问者模式(Visitor Pattern)
推荐你一本好书:《软件秘笈:设计模式那点事》,里面讲解的23中设计模式例子很生动,容易理解,还有JDK中设计模式应用情况,看了收获挺大的!网络里面搜“设计模式”,第一条中设计模式网络中就有首推该图书,浏览量在20几万以上的,不会错的。好东西大家一起分享!
祝你早日学会设计模式!
⑨ 什么是 JAVA模式
通俗就是支持运行JAVA软件或游戏的模式,只要手机支持JAVA,就可以运行软件或游戏JAR文件。
⑩ java一共有多少种模式,分别是啥啊谢谢大家帮忙
转载//////////////
Java中的23种设计模式:
Factory(工厂模式), Builder(建造模式), Factory Method(工厂方法模式),
Prototype(原始模型模式),Singleton(单例模式), Facade(门面模式),
Adapter(适配器模式), Bridge(桥梁模式), Composite(合成模式),
Decorator(装饰模式), Flyweight(享元模式), Proxy(代理模式),
Command(命令模式), Interpreter(解释器模式), Visitor(访问者模式),
Iterator(迭代子模式), Mediator(调停者模式), Memento(备忘录模式),
Observer(观察者模式), State(状态模式), Strategy(策略模式),
Template Method(模板方法模式), Chain Of Responsibleity(责任链模式)
工厂模式:工厂模式是一种经常被使用到的模式,根据工厂模式实现的类可以根据提供的数据生成一组类中某一个类的实例,通常这一组类有一个公共的抽象父类并且实现了相同的方法,但是这些方法针对不同的数据进行了不同的操作.首先需要定义一个基类,该类的子类通过不同的方法实现了基类中的方法.然后需要定义一个工厂类,工厂类可以根据条件生成不同的子类实例.当得到子类的实例后,开发人员可以调用基类中的方法而不必考虑到底返回的是哪一个子类的实例.