`
fly_yr
  • 浏览: 23243 次
  • 性别: Icon_minigender_2
  • 来自: 青岛
社区版块
存档分类
最新评论
文章列表
1. Servlet:一个Servlet就是一个标准的服务器端应用程序,它可以执行商务逻辑处理HTTP的访问请求。 (1)servlet是运行在服务器端的小型应用程序 (2)需要web容器的支持 (3)java编写 结构: 2. Servlet是基于Request—Response的结构,在服务器端server运行的小的应用程序,可以执行电子商务逻辑通过HTTP协议经浏览器返回。 3. Servlet的编写是基于设计模式中的模板方法模式,只要实现java中的接口javax.servlet.Servlet;javax.servlet.GenicServlet;javax.ser ...
访问者模式(Visitor),表示一个作用于某对象结构中各元素的操作,它使你可以不改变各元素的类的前提下定义作用于这些元素的新操作。 访问者模式适合于数据结构相对稳定的系统。它把数据结构和作用于结构上的操作之间的耦合解脱开,使得操作集合可以相对自由的演化。 访问者模式的目的是要把处理从数据结构分离出来,很多系统可以按照算法和数据结构分开,如果这样的系统有比较稳定的数据结构,又有易于变化的算法的话,使用访问者模式就是比较合适的,因为访问者模式使得算法操作的增加变得容易。 访问者模式UML类图: 如上图所示:Visitor类,为该对象结构中ConcreteElement ...
目标:采用Socket和多线程技术,实现一个java Web服务器,加深对HTTP的认识。 新建java项目 webServer 新建java文件 WebServer.java Processor.java   一、HTTP协议的作用原理   WWW是以Internet作为传输媒介的一个应用系统,WWW网 ...
java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind 此异常的原因是“服务器端口被占用”,解决办法是: 一:更改服务器的端口号 二:关闭占用当前端口的进程
论设计模式在软件开发中的应用 在解决这个论题之前,我们首先要了解设计模式的概念,及其基本的分类。 “设计模式”这四个字,相信大家在很多地方都会看到,什么是设计模式呢?一个设计模式提供一种提炼子系统或 ...
解释器模式(Interpreter),给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 解释器模式需要解决的问题是,如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言中的句子。这样就可以构建一个解释器,该解释器通过解释这些句子来解决该问题。 解释器模式UML类图: 如上图所示:AbstractExpression(抽象表达式),声明一个抽象的解释操作,这个接口为抽象语法树中所有的节点所共享;TerminalExpression(终结符表达式),实现与文法中的终结符相关联的解释操作 ...
享元模式(FlyWeight),运用共享技术有效的支持大量细粒度的对象。也就是说当项目中需要应用大量相同或相似的功能代码时,那么对于硬盘、内存、CPU、数据库空间的等服务器资源均可达到共享,以减少服务器资源,提高利用率。 享元模式UML类图: 如上图所示,FlyWeight类,它是所有具体享元类的超类或者接口,通过这个接口,FlyWeight可以接受并作用于外部状态;ConcreteFlyWeight是继承FlyWeight超类或者实现FlyWeight接口,并为内部状态增加存储空间;UnsharedConcreteFlyWeight是指那些不需要共享的FlyWeigh ...
中介者模式(Mediator),用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式的相互引用,从而使其耦合松散,而且可以独立的改变它们之间的交互。 中介者模式UML类图: 由上图可以看出:Mediator 抽象中介者类,定义了同事对象到中介者对象的接口;Colleague抽象同事类;ConcreteMediator具体中介者类,实现抽象类的方法,它需要知道所有的具体同事类,并从同事接收消息,向具体同事对象发出命令;具体同事类,每个具体同事对象只知道自己的行为,而不了解其它同事类的情况,但它们却都认识中介者对象。 中介者模式实现: using System; us ...
职责链模式(Chain Of Responsibility),使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 这里发出这个请求的客 ...
命令模式(Command),将一个请求封装成一个对象,从而使你可以用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。 命令模式UML类图: 如上图所示:Command类是用来声明执行操作的接口;ConcreteCommand类,将一个接收者对象绑定于一个动作,调用接收者相应的操作,以实现Execute;Receiver类,知道如何实施与执行一个与请求相关的操作,任何类都可能作为一个接收者;Invoker类,要求该命令执行这个命令。 命令模式实现: using System; using System.Collections.Generic; ...
桥接模式(Bridge),将抽象部分与它的实现部分分离,使它们都可以独立地变化。对于模式中描述的抽象与它实现分离,这并不是说,让抽象类与派生类分离,因为这没有任何意义。实现指的是抽象类和它的派生类用来实现自己的对象。 桥接模式(Bridge)UML类图: 桥接模式(Bridge)实现: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Bridge { /*实现类*/ abstract class Imp ...
单例模式(Singleton),保证一个类仅有一个实例,并提供一个访问它的全局访问点。 通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对象。一个最好的办法就是,让类自身负责保存它的唯一实例。这个类可以保证没有其他实例可以被创建,并且它可以提供一个访问该实例的方法。 单例模式(Singleton)UML类图: 分析: Singleton类定义一个GetInstance()操作,允许客户访问它的唯一实例。GetInstance()是一个静态方法,主要负责创建自己的唯一实例。 单例模式(Singleton)实现: using System; ...
迭代器模式(Iterator),提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示。 当你需要访问一个聚合对象,而且不管这些对象是什么都需要遍历的时候,就应该考虑使用迭代器模式。另外,当需要对聚集有多种方式遍历时,可以考虑去使用迭代器模式。迭代器模式为遍历不同的聚集结构提供如开始、下一个、是否结束、当前哪一项等统一的接口。 迭代器模式UML类图: 迭代器模式实现: using System; using System.Collections.Generic; using System.Linq; using System.Text; namesp ...
组合模式(Composite),将对象组合成树形结构以表示‘部分-整体’的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。 组合模式UML类图: 由上图可知,Component:为组合中的对象声明接口,在适当情况下,实现所有类共有接口的默认行为。声明一个接口用于访问和管理Component的子类。 Leaf:在组合中表示叶节点对象,叶节点没有子节点。 Composite:定义有枝节点行为,用来存储子部件,在Component接口中实现与子部件有关的操作,比如增加Add(),Remove()。 客户端代码能通过Component接口操作组 ...
备忘录模式(Memento),在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样就可以将该对象状态恢复到原先保存的状态。 备忘录模式UML类图: 由上图可知,Originator(发起人)类:负责创建一个备忘录Memento,用以记录当前时刻它的内部状态,并可使用备忘录恢复内部状态,Originator可根据需要决定Memento存储Originator的哪些内部状态 。 Memento(备忘录):负责存储Originator对象的内部状态,并可防止Originator以外的其它对象访问备忘录Memento。备忘录有两个接口,Careta ...
Global site tag (gtag.js) - Google Analytics