这週的主题是Web API,也就是透过HTTP通讯协定,来请求及获得回覆,也就是透过URL来传递后端程式需要的资讯。
为了合作上的理解和维护便利,通常会希望后端 API 设计符合以下规则:
CRUD原则
以请求的方法POST、GET、PUT、DELETE分别对应Create(创建)、Read(读取)、Update(更新)和 Delete(删除)等功能。
RESTful 风格
URL的设计以名词为主(动词通常在请求方法中以有所描述了)避免前段endpoint 不存在另外,学习后端框架需要理解的知识有:
依赖反向原则(DIP)
高阶模组不应该依赖于低阶模组。两者都应该依赖抽象。抽象不应该依赖细节;细节应该依赖抽象。控制反转(IoC)
将物件控制权转移给第三方『容器』:不由高阶模组直接建立低阶模组,使用控制反转中心去建立低阶模组,高阶模组要使用的时候再把这个低阶模组交给高阶模组使用。
也就是要先向容器注册物件,注册方式分为:AddSingileton: 程式执行时期,使用同一个物件实体AddScoped: 每一个Request使用同一个物件实体AddTransient: 每次注入需求皆使用新的物件实体
由容器掌管物件的生命週期,高阶物件使用期间不宜呼叫dispose 等方法
依赖注入(DI)
高阶物件不直接创建低阶物件(依赖),而是由外部创建低阶物件(依赖)后传入(注入)高阶物件。可以有效的让物件解耦,方便抽换依赖物件的实作内容。