目录

Life in Flow

知不知,尚矣;不知知,病矣。
不知不知,殆矣。

标签: DesignPattern (4)

设计模式

简单工厂  由一个工厂对象决定创建出哪一种产品类的实例。  创建型,但不属于GOF23种设计模式。  编码风格,不属于设计模式。 # 适用场景 * 工厂类负责创建的对象比较少 * 客户端(应用层)只知道传入工厂类的参数,对于如何创建对象(逻辑)不关心 # 优点 * 只需要传入一个正确的参数,就可以获取你所需要的对象,无需知道其创建细节。 # 缺点 * 工厂类的职责相对过重,增加新的产品需要修改工厂类的判断逻辑,违背开闭原则。 * 无法形成基于继承的结构。 Video public abstract class Video { public abstract void produce(); } JavaVideo public class JavaVideo extends Video { @Override public void produce() { System.out.println("Java 开讲了!!!"); } } PythonVideo public class PythonVideo extends Video { @Override public void....

软件设计原则

开闭原则  一个软件实体如类、模块、函数应该对扩展开放,对修改关闭。用抽象构建框架,用实现扩展细节,面向抽象编程。(继承、多态)  优点:提高软件系统的可复用性及可维护性。 ICourse public interface ICourse { Integer getId(); String getName(); Double getPrice(); } JavaCourse public class JavaCourse implements ICourse{ private Integer Id; private String name; private Double price; public JavaCourse(Integer id, String name, Double price) { this.Id = id; this.name = name; this.price = price; } public Integer getId() { return this.Id; } public String getName() { return this.name; } ....

UML

UML 特点  统一建模语言(Unified Modeling Language)是一种开发的方法,用于说明、可视化、构建和编写一个正在开发的面向对象的、软件密集系统的制品的开放方法。  UML 展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次,已经被验证有效。 UML 2.2 分类 UML 2.2 中一共定义了 14 种图示,分类如下: * 结构式图形:强调的是系统式的建模 * 行为式图形:强调系统模型中触发的事件 * 交互式图形:属于行为图形子集合,强调系统模型中资料流程 结构式图形 静态图(类图、对象图、包图) 实现图(组件图、部署图) 剖面图 复合结构图 行为式图形 活动图 状态图 用例图 交互式图形 通信图 交互概述图(UML2.0) 时序图(UML2.0) 时间图(UML2.0) UML 类图  Class Diagram,用于表示类、接口、实例等之间相互的静态关系。虽然名字叫类图,但类图中并不只有类。 第一行 类名(抽象类应该用斜体) 第二行 属性 第三行 方法 + public - private # prot....

代码分层

代码分层的重要性 代码除了实现功能,另外一个重点就是让人看得懂,方便接手。 业务分层对于代码规范是比较重要,决定着以后的代码是否可复用,是否职责清晰,边界清晰。 代码分层逻辑图 Web 层:主要是对访问控制进行转发,各类基本参数校验,或者不复用的业务简单处理等。 Controller Service 层:相对具体的业务逻辑服务层 DAO 层:数据访问层,与底层 MySQL、Oracle、Hbase 进行数据交互。