242470Java 设计模式之装饰模式(八) 2017-11-15本篇主题为结构型模式中的第三个模式–装饰模式。上篇 Java 设计模式主题为 《Java 设计模式之桥接模式(七)》 。 装饰(Decorator)模式又叫做包装模式,其功能是动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活,是继承关系的一个替换方案。 Component:定义一个对象接口,可以给这些对象动态地添加职责。
252981Java 设计模式之桥接模式(七) 2017-11-14本篇主题为结构型模式中的第二个模式--桥接模式。上篇 Java 设计模式主题为 《Java 设计模式之适配器模式(六)》 。 桥接模式,是结构型的设计模式之一。桥接模式基于类的最小设计原则,通过使用封装,聚合以及继承等行为来让不同的类承担不同的责任。它的主要特点是把抽象(abstraction)与行为实现(implementation)分离开来,从而可以保持各部分的独立性以及应对它们的功能扩展。 处理多层继承结构,多维度变化的场景。将各个维度设计成独立的继承结构,使得各个维度可以独立的扩展。
226600Java 设计模式之适配器模式(六) 2017-11-13在上篇 《Java 设计模式之原型模式(五)》 ,已经将设计模式中的创建型模式介绍完毕。 今天开始介绍设计模式中的结构性模式,本篇主题是适配器模式。 适配器模式可以改变已有类的接口形式,即使得原本由于接口不兼容而不能工作的类可以一起工作。
228700Java 设计模式之原型模式(五) 2017-11-10本篇介绍 Java 设计模式中创建型模式的最后一种--原型模式。上篇设计模式主题为 《Java 设计模式之建造者模式(四)》 原型模式是一种对象创建型模式,它采取复制原型对象的方法来创建对象的实例。使用原型模式创建的实例,具有与原型一样的数据。 由原型对象自身创建目标对象。即对象创建这一动作发自原型对象本身。
227370Java 设计模式之建造者模式(四) 2017-11-09今天继续介绍 Java 设计模式中的创建型模式--建造者模式。上篇设计模式的主题为 《Java 设计模式之抽象工厂模式(三)》 建造者模式/生成器模式是一种对象创建型模式之一,用来隐藏复合对象的创建过程,它把复合对象的创建过程加以抽象,通过子类继承和重载的方式,动态地创建具有复合属性的对象。 建造者模式实现过程通常分成 2 个步骤:构建(Builder)和装配(Director)。 此处的英文不是对汉字的翻译而是为了说明这两个步骤需要用到的接口类型。
237720Java 设计模式之抽象工厂模式(三) 2017-11-08上篇文章 《Java 设计模式之工厂模式(二)》 ,介绍了简单工厂模式和工厂方法模式,本篇将继续介绍工厂模式中的最后一个模式--抽象工厂模式。 抽象工厂模式是所有形态的工厂模式中最为抽象的。抽象工厂模式可以向客户端提供一个接口,使得客户端在不必指定产品的具体类型(不是指实现类)的情况下,能够创建多个产品族的产品对象。 产品族可以通入下图理解:
234650Java 设计模式之工厂模式(二) 2017-11-07本篇内容是 Java 设计模式创建型模式的第二篇。上一篇主题为 《Java 设计模式之单例模式(一)》 在介绍工厂模式之前,我们需要了解设计模式中应该遵循的原则。 五大原则:
262551JavaSE 手写 Web 服务器(二) 2017-10-22在上一篇文章 《JavaSE 手写 Web 服务器(一)》 中介绍了编写 web 服务器的初始模型,封装请求与响应和多线程处理的内容。但是,还是遗留一个问题:如何根据不同的请求 url 去触发不同的业务逻辑。 这个问题将在本篇解决。 XML:将配置信息写到 XML 文件,解决硬编码问题。
268520JavaSE 手写 Web 服务器(一) 2017-10-22某日,在 Java 技术群中看到网友讨论 tomcat 容器相关内容,然后想到自己能不能实现一个简单的 web 容器。于是翻阅资料和思考,最终通过 JavaSE 原生 API 编写出一个简单 web 容器(模拟 tomcat)。在此只想分享编写简单 web 容器时的思路和技巧。 Socket 编程:服务端通过监听端口,提供客户端连接进行通信。 Http 协议:分析和响应客户端请求。