首页 公众号手机端

微服务的(de)设计 IDEALS VS SOLID

sss001 4周前 (11-25) 阅读数 16 #房产装修

重新润色后(hòu)的(de)内容

前几天(tiān),我(wǒ)正好(hao)在(zài)浏览关于(yú)微服务IDEALS原则的(de)内容,觉得这(zhè)些原则总结得非常全面,对(duì)微服务设计有(yǒu)了更深入的(de)认识。虽然我(wǒ)在(zài)工作中(zhōng)已经按照这(zhè)些原则操作,但之(zhī)前我(wǒ)更侧重于(yú)DDD(领域驱动设计)方面的(de)思考。

下(xià)面是( shì)IDEALS的(de)总结:

  • Interface segregation(BFF)
  • Deployability (docker,service mesh,k八s等等)
  • Event-driven
  • Availability over consistency
  • Loose coupling
  • Single responsibility(基于(yú)DDD)

那(nà)么,这(zhè)些原则与SOLID原则之(zhī)间有(yǒu)什么关系呢?我(wǒ)认为(wéi / wèi)在(zài)面向对(duì)象编程(OO)中(zhōng),SOLID原则主要(yào)关注代码级别的(de)实现,而(ér)IDEALS原则则更侧重于(yú)架构层面的(de)设计。

关于(yú)SOLID原则

  1. Single responsibility principle:单一职责原则,意味着每个(gè)类或模块应该只有(yǒu)一个(gè)职责,避免一个(gè)类承载过(guò)多功能(néng)。
  2. Open/closed principle:开闭原则,即软件实体应该对(duì)扩展开放,对(duì)修改关闭。这(zhè)意味着在(zài)不(bù)修改现有(yǒu)代码的(de)情况下(xià),可(kě)以(yǐ)添加新功能(néng)。
  3. Liskov substitution principle:里氏替换原则,强调使用基类的(de)地(dì)方可(kě)以(yǐ)使用其派生(nián)类进行(xíng)替换,而(ér)不(bù)改变程序的(de)行(xíng)为(wéi / wèi)。
  4. Interface segregation principle:接口隔离原则,即客户端不(bù)应该依赖于(yú)它不(bù)需要(yào)的(de)接口,一个(gè)类对(duì)另一个(gè)类的(de)依赖应建立在(zài)最小的(de)接口上(shàng)。
  5. Dependency inversion principle:依赖倒置原则,要(yào)求高层模块不(bù)应该依赖于(yú)低层模块,它们(men)都应该依赖于(yú)抽象。抽象不(bù)应该依赖于(yú)细节,细节应该依赖于(yú)抽象。

这(zhè)样的(de)对(duì)比和(hé)解释,有(yǒu)助于(yú)我(wǒ)们(men)更好(hao)地(dì)理解和(hé)应用这(zhè)两种编程原则,以(yǐ)构建高效、可(kě)维护的(de)软件系统。

版权说明

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门