目录前言1.单一职责原则SingleResponsibilityPrinciple1.1基本介绍1.2单一职责原则注意事项和细节1.3一个示例2.接口隔离原则InterfaceSegregationPrinciple2.1基本介绍2.2图解2.3一个示例3.依赖倒转(倒置)原则DependenceInversionPrinciple3.1基本介绍3.2依赖关系传递的三种方式及示例3.2.1接口传递3.2.2构造方法传递3.2.3Setter方法传递3.2.4调用上述方法3.3依赖倒转原则的注意事项和细节4.里氏替换原则LiskovSubstitutionPrinciple4.1OO中的继承性的
目录前言1.单一职责原则SingleResponsibilityPrinciple1.1基本介绍1.2单一职责原则注意事项和细节1.3一个示例2.接口隔离原则InterfaceSegregationPrinciple2.1基本介绍2.2图解2.3一个示例3.依赖倒转(倒置)原则DependenceInversionPrinciple3.1基本介绍3.2依赖关系传递的三种方式及示例3.2.1接口传递3.2.2构造方法传递3.2.3Setter方法传递3.2.4调用上述方法3.3依赖倒转原则的注意事项和细节4.里氏替换原则LiskovSubstitutionPrinciple4.1OO中的继承性的
经典设计原则除了SOLID之外,常见的还包括KISS、YAGNI、DRY、LOD、CRP等几种:KISS(KeepItSimple&Stupid,尽量保持简单)YAGNI(YouAin'tGonnaNeedIt,你不会需要它)DRY(Don'tRepeatYourself,不要重复自己)LOD(LawOfDemeter,迪米特法则)CRP(CompositeReusePrinciple,合成复用原则)KISS原则理解KISS原则的英文描述有很多版本,如下:KeepItSimple&StupidKeepItSweet&SimpleKeepItShort&SimpleKeepItSimple&St
经典设计原则除了SOLID之外,常见的还包括KISS、YAGNI、DRY、LOD、CRP等几种:KISS(KeepItSimple&Stupid,尽量保持简单)YAGNI(YouAin'tGonnaNeedIt,你不会需要它)DRY(Don'tRepeatYourself,不要重复自己)LOD(LawOfDemeter,迪米特法则)CRP(CompositeReusePrinciple,合成复用原则)KISS原则理解KISS原则的英文描述有很多版本,如下:KeepItSimple&StupidKeepItSweet&SimpleKeepItShort&SimpleKeepItSimple&St
拆分原则1.明确服务边界。狗就好好的啃骨头,猫就老实拿耗子。2.服务之间单向无环依赖。分析服务之间的依赖关系,可以是代码包级别的,也可以是业务逻辑级别的,保证无环才可拆解。3.交互方式遵循上下游关系,下游叶子节点服务可以调用上游接口(HTTP协议),上游节点服务通过事件(事件总线,消息总线)影响下游系统。4.最小数据共享,遵循DDD的限界上下文的分析原则。5.接口不同时操作上下文数据,写操作只能在当前上下文中,读同理。不同上下文的读取操作需要放在BFF中 注释:BFF,所谓BFF其实是BackendforFrontend的简称,中文翻译是为前端而开发的后端,它主要由前端团队开发(后端微服务一般
拆分原则1.明确服务边界。狗就好好的啃骨头,猫就老实拿耗子。2.服务之间单向无环依赖。分析服务之间的依赖关系,可以是代码包级别的,也可以是业务逻辑级别的,保证无环才可拆解。3.交互方式遵循上下游关系,下游叶子节点服务可以调用上游接口(HTTP协议),上游节点服务通过事件(事件总线,消息总线)影响下游系统。4.最小数据共享,遵循DDD的限界上下文的分析原则。5.接口不同时操作上下文数据,写操作只能在当前上下文中,读同理。不同上下文的读取操作需要放在BFF中 注释:BFF,所谓BFF其实是BackendforFrontend的简称,中文翻译是为前端而开发的后端,它主要由前端团队开发(后端微服务一般
本文结合自身后台开发经验,从高可用、高性能、易维护和低风险(安全)角度出发,尝试总结业界常见微服务接口设计原则,帮助大家设计出优秀的微服务。 1.前言微服务是一种系统架构风格,是SOA(面向服务架构)的一种实践。微服务架构通过业务拆分实现服务组件化,通过组件组合快速开发系统,业务单一的服务组件又可以独立部署,使得整个系统变得清晰灵活:原子服务独立进程隔离部署去中心化服务治理一个大型复杂的软件应用,都可以拆分成多个微服务。各个微服务可被独立部署,各个微服务之间是松耦合的。现如今后台服务大部分以微服务的形式存在,每个微服务负责实现应用的一个功能模块。而微服务由一个个接口组成,每个接口实现某个功能模
本文结合自身后台开发经验,从高可用、高性能、易维护和低风险(安全)角度出发,尝试总结业界常见微服务接口设计原则,帮助大家设计出优秀的微服务。 1.前言微服务是一种系统架构风格,是SOA(面向服务架构)的一种实践。微服务架构通过业务拆分实现服务组件化,通过组件组合快速开发系统,业务单一的服务组件又可以独立部署,使得整个系统变得清晰灵活:原子服务独立进程隔离部署去中心化服务治理一个大型复杂的软件应用,都可以拆分成多个微服务。各个微服务可被独立部署,各个微服务之间是松耦合的。现如今后台服务大部分以微服务的形式存在,每个微服务负责实现应用的一个功能模块。而微服务由一个个接口组成,每个接口实现某个功能模
最近,我们袋鼠云的UED部⻔小伙伴们,不声不响地⼲了⼀件⼤事——升级了全新设计语言「数栈UI5.0」。众所周知,用户在使用产品时,是一个动态的过程,用户和产品之间进行交互的可用性,能否让用户愉悦、快速地在产品内达成目的,直接影响用户使用产品的体验。在设计中,有一个广泛的经验法则被称为「尼尔森十大可用性原则」,1995年由著名的人机交互学博士尼尔森发表。它是产品设计和⽤户体验设计的重要参考标准,这⼗⼤原则在设计过程和落地中能都能很好的帮助设计师去提升产品交互体验。针对数栈现有产品存在的⼀些问题,⽐如同质化严重,视觉不统⼀,⽤户体验差等,从视觉呈现到交互细节,结合这经典十大可用性原则,进行了重⼤的
最近,我们袋鼠云的UED部⻔小伙伴们,不声不响地⼲了⼀件⼤事——升级了全新设计语言「数栈UI5.0」。众所周知,用户在使用产品时,是一个动态的过程,用户和产品之间进行交互的可用性,能否让用户愉悦、快速地在产品内达成目的,直接影响用户使用产品的体验。在设计中,有一个广泛的经验法则被称为「尼尔森十大可用性原则」,1995年由著名的人机交互学博士尼尔森发表。它是产品设计和⽤户体验设计的重要参考标准,这⼗⼤原则在设计过程和落地中能都能很好的帮助设计师去提升产品交互体验。针对数栈现有产品存在的⼀些问题,⽐如同质化严重,视觉不统⼀,⽤户体验差等,从视觉呈现到交互细节,结合这经典十大可用性原则,进行了重⼤的