自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 资源 (1)
  • 收藏
  • 关注

原创 积少成多系列传送门

文章目录一 前言二 传送门2.1 算法2.2 数据机构2.3 设计模式2.4 JVM2.5 生产问题2.6 编程技巧2.7 分布式设计2.8 缓存一 前言  已经休息到第五天了,书也看了,游戏也玩了,准备调整一下生活状态为节后工作做个铺垫,然后突然冒出一个想法,是时候整理一下零散的知识点了。  近两年慢慢的发现,个人能力的高低和收入的多少并没有什么线性关系,究其本质在于市场的需求量有多大。如...

2019-10-05 13:13:48 371 2

转载 “MOSE就是战略”系列之四:用MOSE支撑坍塌的IT战略

但云原生战略解决的主要是应用程序和基础设施在运行环节(Ops)的问题,在业务(Biz)和开发(Dev)这两个环节,企业的IT战略乏善可陈。MOSE就是一个普遍适用的IT战略,它能够解决端到端贯通的问题,帮助企业形成涵盖Biz-Dev-Ops三个环节的、完整的IT战略,支撑起坍塌的战略屋。MOSE实现了业务和技术的贯通。MOSE过程从企业级架构设计开始,然后是领域/项目级架构设计,最后是应用程序的设计,成果环环相扣,架构资产的全局统一管理被融进了软件工程的各个环节,有效保障了战略和架构规划的贯彻执行。

2023-03-24 16:41:51 177

转载 “MOSE就是战略”系列之三:MOSE的要点和精义所在

MOSE需要为研发人员提供基于结构图和流程图的操作界面,尽管这些图的排版、布线和样式设定都是自动的,以便用户能够专注于结构和流程的分析、设计,但还是容易让人误以为MOSE就是MDD(Model Driven Development,模型驱动开发)所用的建模工具,或者就是低代码开发平台——MOSE是新一代的、架构和模型驱动的软件工程方法和技术。2)从业务到IT,要包含由业务数据模型、业务流程模型、用户体验模型等共同组成的业务模型,以及由IT数据模型、对象模型、应用模型、技术模型等共同组成的IT模型;

2023-03-24 16:34:59 325

转载 “MOSE就是战略”系列之二:MOSE成果的结构和形成过程

业务架构模型的元素主要有:业务领域(价值链),业务阶段(价值流),业务组件,事件,活动,任务,步骤,等等;数据架构模型的元素主要有:主题域,业务对象(数据组件),实体,属性,实体关系,实例组,域,等等,支持用户践行 DDD 理念,定义具有行为(方法/接口)的领域对象;应用架构模型的元素主要有:应用域,前端组件,后端(服务、批处理、…通常所讲的业务模型(即结构化了的需求分析成果),就是业务架构模型(即业务流程模型)和数据架构模型中的业务数据部分(即业务数据模型)共同组成的模型,它由业务分析师负责设计和管理。

2023-03-24 16:18:41 682

转载 “MOSE就是战略”系列之一:MOSE是什么?

软件和人体一样,在皮肉之下有更加关键的骨骼脉络,例如,业务功能体系,业务流程和规则,数据和对象体系,应用程序体系,程序或对象的协作关系,等等,这些东西都有相应的结构范式(有哪些元素,元素有哪些属性,元素间有哪些关系,等等),并且可以借助图形直观地表示出来,因此,常被称作“模型”。软件工程的所有参与者,产出物都是模型,企业级架构师产出的是企业级架构模型,业务分析师产出的是业务模型,IT架构师产出的是IT模型,程序员产出的是程序(处理过程)模型,等等。现在,我们再次做出努力,并且是这个方向上终极的努力——

2023-03-07 17:02:10 505

原创 业务建模学习笔记(1)——CBF Studio和行业建模标准小记

使用CBF Studio的用户角色很多,并不同传统的编程人员,包括了企业级架构师即规划人员、业务设计人员、IT部门的架构师和开发人员等等,他们都会在平台上工作,这些角色通过统一的、结构化的语言来分享和衔接设计成果,从而以模型驱动、架构驱动的方式来实现业务需求。

2023-02-08 09:29:38 1560

原创 CBF 宣传片-2022.1.19字幕版

CBF 宣传片-2022.1.19字幕版

2022-10-10 14:29:25 64

原创 好工具推荐-侧边翻译

文章目录工具简介安装方式使用方法结语  不论是从事IT还是其他线上办公的职业,都需要掌握大量的软件工具来支撑日常工作,这其中就不乏大量便捷、效率的小工具,从本文开始,我将陆续介绍本人常用的一些非常有用的办公软件,希望能帮助到所有读者。工具简介  浏览各类软件介绍文档的时候,盯着满屏幕的英文太过头疼,尤其是对我这种英语水平较差的人来说简直是噩梦,自从用过了“侧边翻译”这些问题迎刃而解。  侧边翻译是一款浏览器插件,支持Chrome浏览器、火狐浏览器、360安全浏览器等主流浏览器,可单独现在安装包,或

2022-01-15 22:33:37 18317 5

原创 CBF Studio业务建模示例(4)-业务模型设计

文章目录一 业务需求分析二 业务模型设计三 业务活动设计3.1 补充业务活动上下文3.2 设定执行者岗位3.3 设计活动泳道图3.4 设计业务动作前导后继处理3.5 设计互斥网关判断逻辑3.6 设计定制化任务逻辑一 业务需求分析  由客户经理发起开立个人客户信息的请求,录入相关信息,提交信息后由审查员进行审核,审查员审核通过后持久化到数据库中。为维护个人客户信息流程同上。查看个人客户信息则直接发起,不需要经过审查。  本文仅针对开立个人客户信息为例,其余业务设计交给读者。根据上述需求就可以拆分出三个

2021-06-10 17:12:54 804

原创 CBF Studio业务建模示例(3)-服务应用模型设计

文章目录服务应用需求分析客户编号生成接口定义服务应用设计服务应用ADML逻辑服务应用需求分析  实际上这个步骤属于应用模型范畴,在数据模型设计完成后,需要开始进行业务模型设计了,然后才是应用模型设计。但是服务模型是可以先行设计的,为的是对业务数据的访问和维护做标准化任务支撑,这些服务应用设计是可以直接在业务模型中复用的,间接的支持业务模型设计做。  因此服务应用模型设计一开始不需要很复杂,仅针对既有的数据模型做CRUD操作即可。以个人客户基本信息的创建、查询和更新为例分析如何设计服务接口,以及基本的

2021-06-08 10:29:07 526 2

原创 CBF Studio业务建模示例(2)-数据模型设计

文章目录业务数据分析域/实例组模型定义实体数据模型定义关联数据模型定义行业标准和落地方法业务数据分析  简单分析下客户信息的构成要素,不论个人客户还是对公客户,都应该包含一个唯一标识号——客户号,以及客户信息开立的时间和是否有效的状态;然后才划分出个人客户信息和对公客户信息,两者间的业务属性是完全不一致的。因此我们将创建一个名为“基本客户信息”的内核实体数据模型,并且用客户号作为主键,客户号是必须满足某种格式的唯一标识号,因此定义为域数据;客户信息状态可选枚举值为“正常”、“睡眠”和“冻结”三个状态,

2021-06-05 22:37:13 1003 2

原创 CBF Studio业务建模示例(1)-内部组织模型设计

文章目录背景和需求分析业务运营组织模型创建组织模型在企业资源管理器中使用背景和需求分析  我们假设已经掌握了CBF Studio的安装部署以及常规操作。现在以客户管理系统为例,从头开始进行业务模型设计。最终将模型设计成果直接运行在CBF Stack上,前端到后端的全部设计均在CBF Studio上完成。  客户管理系统的需求简化为录入和维护(更新和删除)客户信息,客户信息包括个人客户信息和对公客户信息,其中侧重设计个人客户信息,扩充个人客户的财务信息、关系人信息等,对公客户信息则交给所有读者自行扩展

2021-06-02 19:36:47 990 4

原创 网络编程 四 UDP通信

文章目录一 基本概念二 通信API一 基本概念  TCP是传输控制协议,属于可靠有序的协议。可靠是指双端先建立连接,然后再通信,通信双端不会丢失数据;有序指的是数据发送和接收到的数据包顺序一致,比如发送12345,收到的也一定是12345。这个过程就好比两个人通信,先拿出一张两个人都认可的纸(建立连接,握手),然后一个人写(数据发送),另一个人看(数据接收),只不过不是写一个字就看一个字,而是写一段看一段(对数据封包)。  IP是网络协议,解决数据包路由问题,跟现在发快递一样,有发件人地址和收件人地址

2021-04-18 14:48:24 1010 2

原创 网络编程 三 Socket通信下篇

文章目录一 构建Sccket对象二 获取输入/出流三 流操作典型问题3.1 流的关闭引发Socket关闭3.2 传输对象时获取流阻塞四 端口分配、连接、超时和状态五 获取网络信息5.1 端口信息5.2 地址信息六 半关闭七 其他特性设置7.1 TcpNoDelay7.2 缓冲区7.3 关闭延迟7.4 读超时7.5 紧急数据7.6 探活7.7 传输质量一 构建Sccket对象  服务端的Socket对象可通过ServerSocket对象获取,这里不再赘述。客户端的Socket对象可直接通过Socket类的

2021-04-07 18:54:42 221

原创 网络编程 二 Socket通信上篇

文章目录一 Socket二 连接类型三 ServerSocket常用API3.1 构建服务端ServerSocket对象3.1.1 绑定服务端口3.1.2 等待连接超时设置3.1.3 限制可接受连接数量3.1.4 绑定IP地址3.1.5 后置绑定3.2 访问绑定信息3.3 超时Socket地址复用3.4 接收缓冲区大小3.5 其他API附录RFC一 Socket所谓套接字(Socket),就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端,提供了应用层进程

2020-08-27 11:18:45 384

原创 网络编程 一 设备信息

文章目录一 网络设备接口信息二 网络设备子接口信息三 地址信息3.1 硬件地址3.2 IP地址四 网络接口地址五 其他设备信息附录一 回环网卡二 MTU一 网络设备接口信息  Java中提供了NetworkInterface供应用访问设备IP地址信息,这是一个被final修饰的类,足见其重要程度:/** * This class represents a Network Interface made up of a name, * and a list of IP addresses assi

2020-08-25 19:55:57 316

原创 NIO 五 文件通道

文章目录一 通道和流的区别二 已实现的主要通道三 FileChannel四 API介绍4.1 获取FileChannel对象4.2 数据写入4.2.1 write(ByteBuffer src)4.2.2 write(ByteBuffer\[] srcs)4.2.3 write(ByteBuffer\[] srcs, int offset, int length)4.2.4 write(ByteBuffer src, long position)4.3 数据读取4.3.1 read(ByteBuffer d

2020-06-26 15:42:22 253

原创 NIO 四 通道接口

文章目录一 通道二 通道接口三 接口说明3.1 AutoCloseable3.2 Closeable3.3 Channel2.4 InterruptibleChannel2.5 ReadableByteChannel2.6 ScatteringByteChannel2.7 WritableByteChannel2.8 GatheringByteChannel2.9 ByteChannel2.10 SeekableByteChannel2.11 AsynchronousChannel2.12 Asynchro

2020-06-06 22:04:34 393

原创 NIO 三 缓冲区数据读写

文章目录一 自增读写1.1 单数据自增读写1.2 批量数据自增读写1.2.1 定长读写1.2.2 完全读写1.3 剩余数据写入二 目标读写三 值类型数据读写四 结语一 自增读写  先打预防针,缓冲区的读写复用是通过数据写入覆盖实现的,所谓数据清理都是通过移动核心参数值实现的,实际上数据写入后会永久存在,这意味着在读写缓冲区数据时,必须要时刻了解position、limit、mark和capacity。  读写数据时对position参数的依赖非常强,很多时候都可以将position作为下一次读写数据对

2020-06-01 15:37:43 375

原创 NIO 二 创建缓冲区

文章目录一 前言二 通过显式的数组对象创建三 通过隐式的数组对象创建四 创建直接缓冲区五 复制缓冲区5.1 浅拷贝缓冲区5.2 只读拷贝5.3 缓存切分六 缓存数据格式转换四 结语一 前言  前一篇博客中介绍了缓冲区Buffer,其中大量的篇幅在描述缓冲区的4个核心参数的设置/访问API,这是所有Buffer类设计的基础,这一篇则在此基础上介绍如何创建不同类型的缓冲区。  创建缓冲区大致分为两种模式,第一种基于JVM数组对象创建的缓冲区,内存分配在JVM中;第二种是直接缓冲区,数据操作直接和核心交互。

2020-05-22 15:11:21 276

原创 NIO 一 缓冲区

文章目录一 缓冲区1.1 什么是缓冲区1.2 直接缓冲区1.3 NIO缓冲区实现二 核心参数2.1 参数介绍2.2 参数限定条件2.3 参数终值2.4 参数操作API2.4.1 获取缓冲区尺寸2.4.2 获取缓冲区可读写尺寸限制2.4.3 设置缓冲区可读写尺寸限制2.4.4 获取缓冲区可读写数据索引2.4.5 设置缓冲区可读写位置索引2.4.6 获取可用缓冲区大小2.4.7 标记重置位置2.4.8 重置核心参数2.4.9 写读模式转换2.4.10 数据重读三 缓冲区API3.1 缓冲区是否只读3.2 是否

2020-05-21 15:39:53 305

原创 通信问题引出进制转换Bug

文章目录一 数组长度为负二 排查过程三 数据存储四 码制转换五 进制转换六 结语一 数组长度为负  历时两年半,项目终于成功上线(????,现阶段还没有对外发布项目上线的新闻公告,大家再等两天)。所以很久一段时间我都没有再写学习笔记了,今天在家办公,恰巧昨天夜里在给应用组做技术支持的时候发现了一个较为严重的bug,所以今天我把它记录下来。  问题发生在一笔外发交易,当核心服务在接收外围系统的应答报...

2020-05-07 15:40:31 193

原创 AOP层层递进 第二部分 切面

文章目录一 AOP由来二 如何实现AOP三 Spring AOP3.1 编程式3.2 配置式3.2.1 抛出增强3.2.2 引入增强3.2.3 切面切点四 Spring+AspectJ五 小结一 AOP由来  AOP全称Aspect-Oriented Programming,和OOP相对应,前者是面向切面编程,后者面向对象编程,若要更加直白的描述两者的区别,个人认为面向对象在纵向通过派生来实现...

2019-12-28 11:21:57 149

原创 AOP层层递进 第一部分 代理

文章目录一 理解代理二 增强函数三 代理模式四 JDK动态代理五 CGLIB动态代理一 理解代理  代理是一种设计模式,指对目标对象方法的间接调用,可以实现不修改原方法逻辑的前提下扩展功能,这遵循了开闭原则。但我始终觉得代理这个词描述的不准确,原因在于代理的本质因该指代为执行,但实际上对象方法的执行并非跳过,代理之后的表现仅仅为原对象方法执行的前后多了补充逻辑,这难道不是函数增强吗?  代理...

2019-12-25 22:20:38 151

原创 DJB算法

文章目录一 缓存原理二 随机性三 Time33四 近似碰撞五 位移计算5.1 取整形最大值5.2 乘除2的N次方5.3 乘33的位移元算六 其他Hash算法七 结语一 缓存原理  诸如我们经常使用的Redis,其读写速度非常快的原因在于它的存储结构是一个Hash表,这是一个非常基础的数据结构,缓存便以K-V的形式存储在Hash表中。Hash表的读写时间复杂度为O(1),其工作流程如下:计算...

2019-11-12 16:38:48 6393

原创 ORM框架设计及实现

文章目录一 对象记录映射二 效率和性能三 数据访问描述信息四 字段类型转换五 数据访问基类六 统一异常处理七 数据访问框架八 数据源创建工厂九 SQL指令解析十 补充DAO接口实现十一 测试十二 其他问题一 对象记录映射  本质上来说,ORM框架需要处理的就是如何将JAVA对象与数据表记录进行关联,便于JAVA对象的持久化,以及将表记录自动转换为JAVA对象。  这就需要存在一个中间态的描述...

2019-11-03 13:34:25 1942

原创 Log4j2代码方式配置实现线程级动态控制

文章目录一 需求二 对外暴露的接口三 代码方式配置Log4j2日志对象四 线程级日志对象的设计五 标准日志头六 异常日志的堆栈信息打印七 测试一 需求  最近平台进行升级,要求日志工具从Log4j升级到Log4j2,以求性能上的提升。之前我写过以代码方式的配置Log4j,来实现线程级日志对象的管理,今天把版本升级到Log4j2,依然采用原有思路来做,但是实现上有诸多区别,这是因为Log4j2的...

2019-10-17 21:37:00 1898 5

原创 JVM参数设置——配置入口篇

文章目录一 前言二 配置JVM参数的入口2.1 JavaApplication的参数配置入口2.2 IDE工具的参数配置入口2.2 WEB容器的参数配置入口2.3 服务端进程的配置入口三 查看JVM配置信息四 结语一 前言  从今年六月份开始,一直到节前,都在给数据中心进行我公司平台部分的技能培训,其中也穿插了一些Java服务开发、运维相关的知识点介绍。  令人惊讶的是,这样一个非常专业的运...

2019-10-07 15:41:22 4105

原创 LRU算法及应用

文章目录一 什么是LRU算法二 手工实现LRU2.1 简单链表实现2.2 解决命中率和缓存污染问题2.3 解决执行效率问题三 Redis如何利用LRU3.1 缓存淘汰策略3.2 LRU实现3.2.1 近似算法3.2.2 近似算法优化3.2.3 LFU算法四 结语一 什么是LRU算法  LRU的全名为Least Recently Used,意指最近少用,这是一种非常经典的算法,应用范围非常的广,...

2019-10-05 18:51:05 2247

原创 Java锁应用及源码原理分析

文章目录一 前言二 CAS源码分析及应用三 重入锁ReentrantLock四 共享锁ReentrantReadWriteLock一 前言  上一篇《Java锁手册》中以特性为角度对Java中的各类锁进行了初步的介绍,并且以平衡性能损耗和解决并发安全问题为核心思想,把锁的演进过程简单的梳理了一遍。所以对本文中出现的一些概念性问题如果不甚了解,可以回头再去看看上文。  作为一名开发者,光说不练...

2019-10-03 12:38:36 226

原创 Java锁手册

文章目录零 致歉一 前言二 锁分类三 锁介绍2.1 悲观锁2.2 乐观锁2.3 阻塞锁2.4 自旋锁2.4.1 TicketLock2.4.2 CLHLock2.4.3 MCSLock2.5 无锁2.6 偏向锁2.7 轻量级锁2.8 重量级锁2.9 公平锁2.10 非公平锁2.11 可重入锁2.12 不可重入锁2.13 独占锁2.14 共享锁四 锁对比五 附录5.1 CAS算法及实现5.2 线程状...

2019-10-01 20:06:24 223 1

原创 桥接模式于外发设计的应用思路

文章目录一 设计模式二 设计原则2.1 单一职责2.2 里氏替换2.3 依赖倒置2.4 接口隔离2.5 知道最少2.6 开闭三 外发需求四 桥接模式五 维度抽象六 应用装配七 加深优化一 设计模式  今天在同事工位上看到了一本《大话设计模式》,倍感亲切。本科曾经开过这门课程,很清楚记得当时老师推荐的就是这本书。遗憾的是当时并没有特别深入的学习了解,直到后来参加了工作,才越发的重视设计模式。 ...

2019-09-27 21:54:04 353

原创 Unity2D开发笔记二 动态设置正交摄像机对焦距离

文章目录一 摄像机分类二 适应屏幕分辨率三 脚本实现一 摄像机分类  首先说一下什么是摄像机,这和我们现实生活里的摄像机概念一样,只不过Unity里的摄像机是用来拍摄游戏场景的,我们透过屏幕能够看到的游戏场景都是通过摄像机拍摄出来的,从游戏开始摄像机就在工作,把每一帧游戏画面反映到屏幕上。  Unity提供了两种摄像机类型:透视摄像机正交摄像机  透视摄像机主要用于3D游戏开发上,...

2019-05-26 19:47:18 1230

原创 Unity2D开发笔记一 动起来

文章目录一 初衷二 环境介绍三 资源推荐四 心得体会一 初衷  本职工作是Java服务端开发,但是一直对游戏开发抱有幻想,我仍记得当初填写大学志愿的时候,就是想以后从事游戏开发所以才报考的软件工程专业。不过自己真的懒惰,而且整个大学期间也没有专业的学习过这方面知识,在南京裸辞的那段时间有打算报一个学习班专门来学习下游戏开发的,后来也因为各种原因不了了之。  慢慢上了年纪,但是心里的那团小火苗...

2019-05-26 19:18:05 975 1

原创 单点部署周期调度服务框架设计

文章目录一 需求背景二 如何处理工作任务二 线程池选择三 并不采用周期调度模式四 数据模型设计五 封装工作任务六 调度框架设计七 结语一 需求背景  当前参与的大型分布式项目中,需要一个点单部署的服务环境,以定时调度的方式来使一些处理任务能够于后台执行一些特殊功能,包括数据加工、外发通讯以及信息推送等。  按常规的设计思路应该以常驻任务的方式来实现,比如在应用程序内部死循环、阻塞等。但是考虑...

2019-05-14 21:53:58 259

原创 完整JavaWeb项目笔记 第十一部分-登陆页设计

文章目录一 需求二 页头设计三 主内容区设计四 页尾设计五 Js文件引用六 Login.js的实现七 服务端对请求的处理八 结语一 需求  服务端设计已经准备完毕,各类数据访问接口设计都已经实现,前端的页面模板、Js模板也已就绪,剩下最后的Html设计及Js编写工作,这部分没有太多的新鲜技术,而且我个人对前端技术不是很熟练,所以剩下部分我仅针对部分Bootstrap和服务端接口设计进行介绍。...

2019-01-07 22:42:48 456

原创 Java虚拟机内存结构介绍

文章目录一 前言二 JVM内存结构三 程序计数器四 虚拟机栈五 本地方法栈六 GC堆七 方法区八 运行时常量池九 直接内存十 总结一 前言  最近项目开始了各种频繁的测试,各组工作也日渐紧张,联机交易及日终批量在高压力测试下,出现了越来越多的内存溢出问题。  其实这里说内存溢出并不严谨,因为我们没有办法很直观的判断出究竟是溢出还是泄漏。今天又有同事问我:为什么会出现OOM?这个问题说起来简单...

2019-01-05 14:09:03 651

原创 完整JavaWeb项目笔记 第十部分-Javascript的MVC设计模式

文章目录一 MVC是一种设计思想二 面向对象的设计三 简单的拆解及拼装一 MVC是一种设计思想  老生常谈的一个词儿“MVC”,各种框架都会说自己是MVC、MVVC或者其他的云云,那么MVC到底是什么?我个人倾向于这是一种设计思想。将业务设计、数据访问以及请求处理或视图绘制等功能实现分离,各自进行调整时而不会产生严重的耦合问题。这是对代码可维护性、健壮性的一种保障。  在进行服务端设计的时候...

2019-01-05 11:05:15 173

原创 完整JavaWeb项目笔记 第九部分-Bootstrap模板设计

文章目录一 为何使用Bootstrap二 需求三 设计模式化四 较为标准的Bootstrap模板一 为何使用Bootstrap  Bootstrap确实很优秀,但这里我并不想多介绍它,有关它的信息大家可网上自行搜索。  毕竟自己还是做Java的,前端部分虽然了解一些,但绝谈不上精通。选择Bootstrap很大程度上还是它的一些特性很吸引我,容易上手,移动设备优先,并且提供了很多优秀的组件设计...

2019-01-04 19:51:00 928

原创 完整JavaWeb项目笔记 第八部分-后端开发部分总结

文章目录一 具体Servlet实现二 测试一下三 服务端开发总结一 具体Servlet实现  到第七部分为止,整个服务端的设计基本上就结束了,还剩下具体的和业务相关的Servlet编写,涉及数据库访问层的设计请参考第二部分,这里对Module模块再简单介绍下。  因为所有的基础设施已经准备完毕,剩余的开发就变得异常的简单,按之前的约定(约定大于配置,这是很重要、很实用的开发经验)我们编写一个...

2018-12-30 15:05:00 465

设计模式工厂和抽象工厂

是设计模式课程中很简单的两个模式的例子,一个是工厂模式,一个是抽象工厂模式,初学者可以看看主要函数是什么,为什么这样做代码是稳定的,希望对初学者有所帮助。

2013-06-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除