整理一下最近学习的内容框架,把最近学东西的大概路径整理下来,方便以后回顾啦。
了解微服务架构。学习微服务框架的层次和功能以及包结构,就是简单了解各个模块功能和分包策略啦,把对应功能的文件放在相应的包结构下。
一、COLA 4.0应用架构,各层的功能:
Adapter层负责对前端展示的路由和适配,相当于MVC的controller。
Application层负责获取输入,组装上下文,校验参数,调用领域层做业务。
Domain层是核心,不依赖其他层次,对App层提供业务实体和业务逻辑计算。
Infrastructure层处理数据库、搜索引擎、文件系统、分布式服务的RPC等。通过Gateway做转义处理,完成防腐的功能。
这个利用依赖倒置,统一使用gateway实现业务领域和外部依赖解耦的方式,真是妙啊!但其实对于依赖和依赖倒置不是很理解,挖坑以后填。
二、面向对象设计的SOLID原则
SOLID 原则是面向对象 class 设计的五条原则。他们是设计 class 结构时应该遵守的准则和最佳实践。
单一职责原则(Single Responsibility Principle, SRP):一个类应该有且只有一个引起它变化的原因。简单地说:接口职责应该单一,不要承担过多的职责。
开闭原则(Open Closed Principle,OCP)的定义是:一个软件实体,如类、模块和函数应该对扩展开放,对修改关闭。允许通过扩展的方式增加系统行为,禁止通过直接修改源码的方式增加系统行为。简单地说:就是当别人要修改软件功能的时候,他不能修改我们原有代码,只能新增代码实现软件功能修改的目的。
里氏替换原则(Liskov Substitution Principle,LSP)的定义是:所有引用基类的地方必须能透明地使用其子类的对象。简单地说:所有父类能出现的地方,子类就可以出现,并且替换了也不会出现任何错误。
接口隔离原则(Interface Segregation Principle,ISP)的定义是:类间的依赖关系应该建立在最小的接口上。简单地说:接口的内容一定要尽可能地小,能有多小就多小。
依赖倒置原则(Dependency Inversion Principle,DIP)的定义:高层模块不应该依赖底层模块,两者都应该依赖其抽象。抽象不应该依赖细节,即接口或抽象类不依赖于实现类,细节应该依赖抽象,即实现类应该依赖于接口或抽象类。简单地说,就是说我们应该面向接口编程,通过抽象成接口,使各个类的实现彼此独立,实现类之间的松耦合。
这个应该是所有设计模式或者说代码编写最深层次最本质的规则,以后边学业务代码边体验吧。