工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。 1|1介绍 意图:定义一个创建对象的接口,让其 ...
分类:
编程语言 时间:
2020-01-16 10:43:15
阅读次数:
65
在清晰架构(Clean Architecture)中,应用程序的每一层(用例,数据服务和域模型)仅依赖于其他层的接口而不是具体类型。 在运行时, "程序容器" 1负责创建具体类型并将它们注入到每个函数中,它使用的技术称为 "依赖注入" 2。 以下是要求。 容器包的依赖关系: 1. 容器包是唯一依赖于 ...
分类:
其他好文 时间:
2020-01-16 10:21:58
阅读次数:
77
抽象工厂模式提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。 确保原料的一致 披萨店成功的关键在于新鲜、高质量的原料。要如何确保每家加盟店使用高质量的原料?你打算建造一家生成原料的工厂,并将原料运送到各家加盟店。对于这个做法,现在还剩下一个问题:加盟店坐落在不同的区域,纽约的红酱 ...
分类:
其他好文 时间:
2020-01-15 23:18:56
阅读次数:
108
golang的接口与我已有的认知不太一样,这篇文章要写好一阵子。 接口是一个编程规约,也是一组方法签名的集合。golang的接口是非侵入式的设计,也就是说,一个具体类型实现接口不需要再语法上显式地声明,只要具体类型的方法集是接口方法集的超集,就代表该类型实现了该接口,编译器在编译时会进行方法集的校验 ...
分类:
其他好文 时间:
2020-01-13 01:07:57
阅读次数:
81
什么是Stream? Stream它并不是一个容器,它只是对容器的功能进行了增强,添加了很多便利的操作,例如查找、过滤、分组、排序等一系列的操作。并且有串行、并行两种执行模式,并行模式充分的利用了多核处理器的优势,使用fork/join框架进行了任务拆分,同时提高了执行速度。简而言之,Stream就 ...
分类:
编程语言 时间:
2020-01-09 13:31:01
阅读次数:
99
Go的结构体 结构体 Go语言提供了一种自定义数据类型,可以封装多个基本数据类型,这种数据类型叫结构体,英文名称 结构体的定义 类型名:自定义结构体的名称,在同一个包内不能重复 字段名:结构体中的字段名必须惟一 字段类型:表示结构体字段的具体类型 例子一 结构体实例化 只有当结构体实例化时,才会真正 ...
分类:
其他好文 时间:
2020-01-08 12:20:25
阅读次数:
71
<!DOCTYPE html> <!--文档声明--> <html lang="en"> <!--根节点--> <head><!--树枝节点--><!--父节点--> <meta charset="UTF-8"> <meta name="viewport" content="width=device ...
分类:
Web程序 时间:
2020-01-06 12:58:45
阅读次数:
77
痛点 在使用Spring mvc 进行开发时我们经常遇到前端传来的某种格式的时间字符串无法用java8的新特性java.time包下的具体类型参数来直接接收。 我们使用含有java.time封装类型的参数接收也会报反序列化问题,在返回前端带时间类型的同样会出现一些格式化的问题。今天我们来彻底解决他们 ...
分类:
编程语言 时间:
2020-01-06 09:53:46
阅读次数:
87
1.原始构成 synchronized是关键字属于jvm层面,monitorenter(底层是通过monitor对象来完成,其实wait/notify等方法也依赖于monitor对象,只有在同步块或者方法中才能调wait/notify等方法) monitorexit lock是具体类(java.ut ...
分类:
其他好文 时间:
2020-01-05 20:35:04
阅读次数:
90
区别1: 在ARC(Auto Reference Count)环境下: instancetype用来在编译期确定实例的类型,而使用id的话,编译器不检查类型, 运行时检查类型. 在MRC(Manual Reference Count)环境下: instancetype和id一样,不做具体类型检查 区 ...
分类:
移动开发 时间:
2020-01-05 17:12:45
阅读次数:
134