摘要: 核心代码如下: public class DiyTomcat1 { public void run() throws IOException { ServerSocket serverSocket = new ServerSocket(8080); System.out.println(" 服务启动 阅读全文
posted @ 2021-10-03 11:08 明月照江江 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 1. 使用java 编写一个echo http服务器 使用java 编写一个echo http服务器 https://github.com/ZhongJinHacker/diy-tomcat/tree/base-tomcat 2. 编写一个提供servlet能力的 http服务器 编写一个提供ser 阅读全文
posted @ 2021-10-03 10:50 明月照江江 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 装饰者模式 用于多个类可以相互组合,甚至多数量,多类品组合,而组合完,我们还要访问它们的某个都拥有的属性;这种多变的场景就非常适合装饰者模式 比如以下例子: 咖啡馆: 咖啡品类:无因咖啡、黑咖啡、意大利咖啡等 调料品类: 牛奶、豆浆、巧克力等 客户可以点一杯咖啡 + 若干牛奶、豆浆、咖啡的,搅拌在一 阅读全文
posted @ 2021-09-30 22:53 明月照江江 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 组合模式:本质就是把不该是继承关系的类,改成树形结构,有树根节点,树中间节点和叶节点。 比如例子: 关系 学校 → 学院 → 专业 他们之间并非是继承关系,而是包含关系,或者说是组合关系。 随时有可能移除学院、增加学院、移除专业、增加专业;所以继承就不够灵活。 先创建一个共同的父类(此处接口也可以, 阅读全文
posted @ 2021-09-30 22:53 明月照江江 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 原型模式主要是用于拷贝对象,而生产新的对象 传统的拷贝方式: // 创建一只叫sheep,1岁了的羊 Sheep sheep1 = new Sheep('sheep', 1); // 拷贝这只羊 Sheep sheep2 = new Sheep(sheep1.getName(), sheep1.ge 阅读全文
posted @ 2021-09-30 22:52 明月照江江 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 很常用的一种设计模式,比如所谓的MVP架构就是典型的中介者模式 MVC 框架时代, M V C 三者之间皆可以相互操作,导致后期维护的难度升高,之后就引入了MVP架构来进行解耦,本质就是使用中介者模式的思想。 这里就不多做解释了,大家应该都用过MVP吧 还是举个例子: 现在有n个买家和n个卖家;他们 阅读全文
posted @ 2021-09-30 22:52 明月照江江 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 享元模式:就是为了共享对象,将已生成的对象存储起来,下次如果还是要这个对象,直接返回该存储的对象。也是我们工作中常用的设计模式 例子: public class WebSiteFactory { //集合,充当池的作用 private HashMap<String,ConcreteWebSite> 阅读全文
posted @ 2021-09-30 22:51 明月照江江 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 适配器模式本质是为了解决 对接另外一个接口时,发现两边的数据格式或者一些原因导致不能直接对接;这是很正常的现象;当为了实现低耦合即尽量不要修改大量代码去适配对接接口,就应该抽象出一层适配层,即适配类来完成两边的对接工作。 适配器模式分为两种 类适配方式,即通过继承来完成 对象适配方式,即通过代理来完 阅读全文
posted @ 2021-09-30 22:50 明月照江江 阅读(76) 评论(0) 推荐(0) 编辑
摘要: 基本介绍 外观模式(Facade),也叫过程模式,主要是为一组接口提供一个一致的“界面”,也就是定义一个更高层的接口,来对这一组接口进行统一的调度。这个接口使得者一组接口更容易使用。 外观模式通过定义一个一致的接口,就可以屏蔽这一组子接口的内部细节,使得调用防只需跟这个外观接口交互,而无需关系内部细 阅读全文
posted @ 2021-09-30 22:50 明月照江江 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 编写软件过程中,程序员面临着来自耦合性、内聚性以及可维护性、可扩展性、重用性、灵活性等多方面的挑战,设计模式是为了让程序具有更好的: 1. 代码重用性(相同功能代码,不用多次编写) 2. 可读性(编程规范性) 3. 可扩展性(增加新功能时十分方便) 4. 可靠性(增加新功能后,对原来的功能没有影响) 阅读全文
posted @ 2021-09-30 22:49 明月照江江 阅读(266) 评论(0) 推荐(0) 编辑