设计模式中常用词汇【文章会长期保持更新】
正文
【版权所有,文章不得已任何形式转载,违者必究】
1.设计模式中的常用词汇
- 创建者模式
- Factory Method (工厂模式)
- Abstract Factory(抽象工厂)
- Builder(建造者模式)
- Prototype(原型模式)
- Singleton(单例)
- 结构型模式
- Adapter(适配器)
- Bridge(桥接)
- Composite(组合)
- Decorator(装饰)
- Facade(外观)
- Flyweight(享元)
- Proxy(代理)
- 行为型模式
- Chain of Responsibility(责任链)
- Command(命令)
- Iterator(迭代器)
- Mediator(中介者)
- Memento(备忘录)
- Observer(观察者)
- State(状态)
- Strategy(策略)
- Template Method(模板方法)
- Visitor(访问者)
2.程序员高频单词
abortA
[ə'bɔːt]: 退出、舍弃
abstract['æbstrækt]: 抽象
acknowledge[əkˈnɒlɪdʒ]: 确认、告知已收到
accept[əkˈsept]: 接收、接受
advance[əd'vɑːns]: 高级、前进
adapter[ə'dæptə]: 适配器
ahead[ə'hed]: 先、提前的
alias[ˈeɪliəs]: 别名
arrow['ærəʊ]: 箭头
assemble[ə'semb(ə)l]: 集合、组合
assign[ə'saɪn]: 赋值、分配
asynchronous[e'sɪŋkrənəs]: 异步的
attempt[ə'tem(p)t]: 尝试
attach[ə'tætʃ]: 连接、附加
authorize['ɔθəraɪz]: 授权、批准
authenticate[ɔː'θentɪkeɪt]: 认证
automatic[ɔːtə'mætɪk]: 自动
average['æv(ə)rɪdʒ]: 平均、普通
bearerB
[ˈberər]: 送信人、搬运工人
behavior[bɪˈheɪvjə]: 行为、做法
boot[buːt]: 启动
bootstrap['buːtstræp]: 引导程序
bridge[brɪdʒ]: 桥、桥接器
broadcast['brɔːdkɑːst]: 广播、播送
browser['braʊzə]: 浏览器
bound[baʊnd]: 边界
catchC
[kætʃ]: 捕获、捕捉
category['kætəɡɔri]: 类别、种类
cause[kɔːz]: 原因、导致
capture['kæptʃə]: 捕捉、捕获
certificate[səˈtɪfɪˌkeɪt]: 证书、凭证
charset[tʃɑˈset]: 字符集
chart[tʃɑːt]: 图表、图
cover['kʌvə]: 覆盖
column['kɒləm]: 列
command[kə'mɑːnd]: 命令、指令
commit[kə'mɪt]: 提交、犯罪
comment['kɒment]: 评论、注解、议论
compare[kəm'peə]: 对比、比较
compile[kəm'paɪl]: 汇编、编译
compose[kəm'pəʊz]: 组合、组成
component[kəm'pəʊnənt]: 组件、元件
complete[kəm'pliːt]: 完成、完整的
compress[kəm'pres]: 压缩
constraint[kən'streɪnt]: 约束、强制
conflict[ˈkɒnflɪkt]: 冲突
constructor[kənˈstrʌktə(r)]: 构造函数、构造器
context['kɒntekst]: 上下文、环境
contain[kənˈteɪn]: 包含
convert[kən'vɜːt]: 变、变换、兑换
decorationD
[dekə'reɪʃ(ə)n]: 装饰
dependencies[dɪ'pɛndənsi]: 依赖
define[dɪ'faɪn]: 定义
defer[dɪ'fɜː]: 延缓、推迟
decoration[dekə'reɪʃ(ə)n]: 装饰
declare[dɪˈkler]: 声明
decorator[ˈdekəreɪtər]: 装饰者
device[dɪ'vaɪs]: 设备
distribute['dɪstrɪbjuːt]: 分发、分配
drive[draɪv]: 驱动、驾驶
document['dɒkjʊm(ə)nt]: 文档、文件
explicitlyE
[ɪkˈsplɪsɪtli]: 明确地
effect[ɪ'fekt]: 影响、效果、作用
efficient[ɪ'fɪʃnt]: 高效
emulator['emjʊleɪtə]: 模拟器
execute['eksɪkjuːt]: 执行
explore[ɪk'splɔr]: 探索
evaluate[ɪˈvæljueɪt]: 求…的值、估价
export[ˈekspɔːt]: 出口、输出
expose[ɪkˈspəʊz]: 暴露、显示
expression[ɪkˈspreʃn]: 表达式、表达、词句
extract[ˈekstrækt]: 提取、抽出
extends[ɪk'stendz]: 继承、延伸
external[ekˈstərnəl]: 外部的
electron[ɪ'lektrɒn]: 电子
evaluate[ɪ'væljʊeɪt]: 评估
explain[ɪk'spleɪn]: 解释、说明
emit[ɪ'mɪt]: 发射
emoji[ēˈmōjē]: 表情符号
forbiddenF
[fə'bɪd(ə)n]: 被禁止的
forgery[ˈfɔːdʒəri]: 伪造
fragment['frægmənt]: 碎片、片段
gatewayG
['geɪtweɪ]: 网关、出入口
generate['dʒenəreɪt]: 生成
graph[græf]: 图形、图表
handleH
['hænd(ə)l]: 处理、把手
horizontal[hɒrɪ'zɒnt(ə)l]: 水平、横
hour['aʊə]: 小时
highlight['haɪlaɪt]: 高亮、突出
hybrid['haɪbrɪd]: 混合
identifierI
[aɪˈdentɪfaɪə(r)]: 标识符
iterator[ɪtə'reɪtə]: 迭代器
immutable[ɪ'mjuːtəb(ə)l]: 不可变的
import[ɪm'pɔːt]: 导入、进口
implement['ɪmplɪm(ə)nt]: 实现、器具
increase[ɪn'kriːs]: 增加、提高
increment[ˈɪŋkrəmənt]: 增加、增量
index['ɪndeks]: 索引
inject[ɪn'dʒekt]: 注入
instance['ɪnst(ə)ns]: 实例
integer['ɪntɪdʒə]: 整数
interaction[ɪntər'ækʃ(ə)n]: 交互、互动
interface[ˈɪntəfeɪs]: 接口、界面
inspect[ɪn'spekt]: 检查、察看
information[ɪnfə'meɪʃ(ə)n]: 信息
invoke[ɪn'vəʊk]: 调用
issue['ɪʃu]: 问题
J
K
latestL
['leɪtɪst]: 最新、最后
logic['lɒdʒɪk]: 逻辑
manifestM
['mænɪfest]: 清单
match[mætʃ]: 匹配、比赛
matrix['meɪtrɪks]: 矩阵、模型
method['meθəd]: 方法
meta['metə]: 元
model['mɒdl]: 模型
module['mɒdjuːl]: 模块
major['meɪdʒə]: 主要的
minor['maɪnə]: 次要的
manual['mænjʊ(ə)l]: 手工的、手册、指南
monitor['mɒnɪtə]: 监控、显示器
mutation[mjuː'teɪʃ(ə)n]: 突变、变动
multiple['mʌltɪpl]: 多
middleware['midlwεə]: 中间件
minute['mɪnɪt]: 分钟
N
observerO
[əb'zɜːvə]: 观察者
operator['ɒpəreɪtə]: 操作者
output['aʊtpʊt]: 输出、产量
owner[ˈəʊnə(r)]: 所有者、物主
packageP
['pækɪdʒ]: 包
pagination[,pædʒɪ'neɪʃ(ə)n]: 分页
paint[peɪnt]: 渲染、绘制
parameter[pə'ræmɪtə]: 参数
pattern['pæt(ə)n]: 模式
perform[pə'fɔːm]: 执行
performance[pə'fɔːm(ə)ns]: 性能
permission[pə'mɪʃ(ə)n]: 允许、权限
platform['plætfɔːm]: 平台
phase[feɪz]: 阶段
prefix['priːfɪks]: 前缀、字首
present[ˈpreznt]: 现在的、目前
protect[prə'tekt]: 保护
prototype['prəʊtətaɪp]: 原型
program['prəʊɡræm]: 程序
process[ˈprəʊses]: 进程、程序、过程
progress['prəʊgres]: 进展、进步
promise['prɒmɪs]: 承诺、许诺
provisional[prəˈvɪʒənl]: 临时的
preset[priː'set]: 预设、预置
prepend[pri:'pend]: 前置、预先
precision[prɪ'sɪʒ(ə)n]: 精确
prune[pruːn]: 修剪、精简
primitive[ˈprɪmətɪv]: 原始的
polyfill: 补丁、填充工具
profile['prəʊfaɪl]: 轮廓、扼要描述
protocol['prəʊtəkɒl]: 协议
port[pɔːt]: 端口、港口
provide[prə'vaɪd]: 提供
priority[praɪˈɒrəti]: 优先、优先权
private[ˈpraɪvɪt]: 私有的
public['pʌblɪk]: 公用、公开
publish['pʌblɪʃ]: 发布、公布、出版
queryQ
['kwɪərɪ]: 查询
queue[kjuː]: 队列
reactiveR
[rɪ'æktɪv]: 响应、反应
record[ˈrekɔːd]: 记录、录音
rectangle/rect[ˈrektæŋɡl]: 矩形
reference['ref(ə)r(ə)ns]: 参考、引用
regular[ˈreɡjələr]: 正则
resolve[rɪ'zɒlv]: 解决、解析
reject[rɪˈdʒɛkt]: 拒绝
report[rɪ'pɔːt]: 报告、汇报
related[rɪ'leɪtɪd]: 有关
release[rɪ'liːs]: 版本、发布
route[ruːt]: 路由、路线
scaffoldS
['skæfəʊld]: 脚手架
second['sek(ə)nd]: 秒、第二
secure[sɪ'kjʊə]: 安全
slogan['sləʊg(ə)n]: 口号、标语
snippet['snɪpɪt]: 片段、小片
syntax['sɪntæks]: 语法、引用
specification[ˌspesɪfɪˈkeɪʃn]: 规范、规格
specify['spesɪfaɪ]: 指定、说明
stable['steɪb(ə)l]: 稳定
stage[steɪdʒ]: 阶段
state[steɪt]: 状态、州
status['steɪtəs]: 状态、地位
stack[stæk]: 堆、栈
statement['steɪtm(ə)nt]: 声明、叙述
structure['strʌktʃə]: 结构、构造
studio['stjuːdɪəʊ]: 工作室
similar['sɪmɪlə]: 相似
subclass['sʌbklɑːs]: 子类、子集
subscribe[səb'skraɪb]: 订阅
sticky[ˈstɪki]: 粘的
shim[ʃɪm]: 垫片、填隙片
taskT
[tɑːsk]: 任务
traversal[trəˈvərs(ə)l]: 遍历
temporary[ˈtemprəri]: 临时
terminal['tɜːmɪn(ə)l]: 终端、终点
track[træk]: 追踪
tutorial[tjuː'tɔːrɪəl]: 教程
upgradeU
[ʌp'greɪd]: 升级
unique[juˈniːk]]: 唯一的、独一无二的
verticalV
['vɜːtɪk(ə)l]: 垂直
vendors['vendəz]: 供应商
via[ˈvaɪə]: 通过
void[vɒɪd]: 空的
virtual[ˈvɜ:tʃuəl]: 虚拟的
widgetW
['wɪdʒɪt]: 小部件
wildcard['waɪldkɑrd]: 通配符
wrap[ræp]: 包、包装
X
Y
Z
🎉 共计:211 个单词
3.其他注意规范
-
类名 使用 UpperCamelCase 风格,必须遵从驼峰形式,但以下情形例外:DO / BO /DTO / VO / AO
-
方法名、参数名、成员变量、局部变量 都统一使用 lowerCamelCase 风格,必须遵从驼峰形式。
-
常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。
-
抽象类命名使用 Abstract 或 Base 开头;异常类命名使用 Exception 结尾;测试类命名以它要测试的 类的名称开始,以 Test 结尾。
-
如果模块、接口、类、方法使用了设计模式,在命名时体现出具体模式
-
接口类中的方法和属性不要加任何修饰符号(public 也不要加),保持代码的简洁性,并加上有效的 Javadoc 注释。尽量不要在接口里定义变量,如果一定要定义变量,肯定是与接口方法相关,并且是整个应用的基础常量
-
接口和实现类的命名有两套规则:
- 1)【强制】对于 Service 和 DAO 类,基于 SOA 的理念,暴露出来的服务一定是接口,内部的实现类用 Impl 的后缀与接口区别。
- 2)【推荐】如果是形容能力的接口名称,取对应的形容词做接口名(通常是–able 的形式)。正例:AbstractTranslator 实现 Translatable。
枚举类名建议带上 Enum 后缀,枚举成员名称需要全大写,单词间用下划线隔开。
说明:枚举其实就是特殊的常量类,且构造方法被默认强制是私有
-
【参考】各层命名规约:
- Service/DAO 层方法命名规约
1) 获取单个对象的方法用 get 做前缀。
2) 获取多个对象的方法用 list 做前缀。
3) 获取统计值的方法用 count 做前缀。
4) 插入的方法用 save/insert 做前缀。
5) 删除的方法用 remove/delete 做前缀。
6) 修改的方法用 update 做前缀。 - B) 领域模型命名规约
1) 数据对象:xxxDO,xxx 即为数据表名。
2) 数据传输对象:xxxDTO,xxx 为业务领域相关的名称。
3) 展示对象:xxxVO,xxx 一般为网页名称。
4) POJO 是 DO/DTO/BO/VO 的统称,禁止命名成 xxxPOJO。
- Service/DAO 层方法命名规约