首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java描述设计模式(02):简单工厂模式

一、生活场景简介 1、引入场景 订餐流程简单描述 1)、食品抽象类,规定食品的基础属性操作 2)、鱼类,鸡肉类食品类扩展 3)、订餐流程类,根据食品名称,加工指定类型食品 4)、模拟客户端预定操作 2...2)、代码实现 /** * 简单工厂模式引入场景 */ public class C01_InScene { public static void main(String[] args)...二、简单工厂模式 1、基本概念 简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,是由一个工厂对象决定创建出哪个类的对象实例。...2)、代码实现 /** * 简单工厂模式 */ public class C02_SimpleFactory { public static void main(String[] args...简单工厂模式通过这种做法实现了对责任的分割, 当系统引入新的登录方式的时候无需修改调用者。

33630
您找到你想要的搜索结果了吗?
是的
没有找到

MuziDB数据库-项目描述

前言 该项目写完也有一段时间了,为了避免以后忘记该项目的一些实现的原理,所以写下这篇博客来记录一下该项目的设计等 项目整体 MuziDB分为前端与后端,前后端交互通过socket进行交互,前端的作用就是读取用户输入并发送到后端进行执行然后输出返回结果...Transaction Manager (TM ) Data Manager (DM) Version Manager (VM) Index Manager (IM) Table Manager (TBM) 项目结构...long类型所以long占八个字节而UID = ((long)pgno << 32) | (long)offset,所以前四个字节是pgno所占用的,最后2个字节是offset占用的,所以只需要再经过简单换算就可以换算出来对应的...当创建一张新表的时候就会把新表的UID复制到这个文件保存 .xid文件 这个文件就是管理事务的文件,里面会保存首先8个字节的XIDCounter,然后接下来的每个字节就是保存一个事务的状态 这个文件对应的功能就是比较简单的...比如当你记录最后一条日志的时候但是你没有记录完但是数据库宕机了那么这就是badTail 每个日志对象即[log]的形式是 [size][checksum][data] 其中size占四个字节,checksum占四个字节,data所占字节就是size所描述

7530

Java描述设计模式(09):装饰模式

一、生活场景 1、场景描述 孙悟空有七十二般变化,他的每一种变化都给他带来一种附加的本领。他变成鱼儿时,就可以到水里游泳;他变成鸟儿时,就可以在天上飞行。...= new Bird(fish); bird.shapeDesc(); } } // 顶级接口 interface TheGreatestSage { // 定义一个描述形态的方法...Override public void shapeDesc() { System.out.println("Monkey.move()"); } } // 包装一层变化的描述...三、实际应用 1、JDK中IO流 1)、基本描述 装饰模式在Java语言中的最经典的应用就是Java I/O类库的设计。...很少单一的创建流对象,通过创建多个叠合对象来提供所期望的IO流功能,因此装饰模式是Java I/O类库的基本模式。 2)、IO流图解描述 抽象构件角色 由InputStream扮演。

38410

如何清晰地描述一个项目架构

工作中我们经常需要给其他人介绍项目架构,有什么方法可以提高介绍的效果吗?根据本人经验,总结了一篇指南。 要让对方掌握项目架构,一个清晰的介绍架构和顺序可以事半功倍。...项目背景 在介绍项目架构之前,首先要介绍一下项目本身的意义和目的,便于对方了解项目背景 解决了什么问题,满足了什么需求等? 目标用户是谁?...在比较完善的系统规划中,性能&安全都是重要功能特性之一,可以作为广义功能来介绍 比如: 吞吐量 响应时间 XSS/CSRF/SQL注入等漏洞修复 数据安全等 这一部分也可以放在架构之后再介绍 发展规划 如果有的话,就简单介绍一下项目未来的发展方向...(不要超过一张PPT,不要超过1分钟) ---- 架构图 使用各种类型的图表、文字、动画等把项目的整体架构描述清楚,外行觉得很思路清晰,内行能够很容易掌握技术点,能够理解架构的优缺点。...项目使用了什么监控系统,监控了哪些指标,使用什么样的告警机制 高可用 如果是行业标准高可用方案的话,简单介绍一下即可 ---- 其他 与其他类似项目的对比

5.5K30
领券