面向对象的原则是普遍适用么?
极客时间《如何落地业务建模》学习笔记
说点题外话 04|面向对象的原则适用于 RESTful API 吗?
这一篇题外话,似乎是在讲关于 RESTful API 如何保持开放性和扩展性。开放性体现在 RESTful API 的供应者类似于互联网服务器,对客户端不做假设;扩展性体现在 RESTful API 只提供最基本的功能,计算分不到客户端,客户端可以组合使用 RESTful API 提供的功能。
过去的企业应用架构环境中,客户端服务器模式(常说的 CS 架构?),服务端一般需要考虑客户端的需要,在一定程度上是和之前客户端的硬件配置一般较差有关系。现在即使是在企业内网环境中,也通常会采用 Web 架构,将一些运算分配到客户端去做。
除非是特定的硬件绑定,现在似乎想不出来为什么还要坚持 CS 架构,而不是 BS 架构。
很久以前,在 Web Service 流行的时候,似乎就已经开始提倡 RESTful API 了,当年落地似乎有点困难。Ruby on Rails 流行的时候,RESTful API 似乎流行了一波,现在不知道如何了,可能还是“真的会”和“真的用”的人并不多。
面向对象的原则与最佳实践,类似于开闭原则、里氏科夫替换、面向接口编程等等,似乎与 RESTful API 是一脉相成的。
面向对象编程的原则 SOLID
The SOLID principles of OOP are: Single Responsibility Principle, Open-Closed Principle, Liskov Substitution Principle (LSP), Interface Segregation Principle (ISP), and Dependency Inversion Principle (DIP). The SOLID principles ensure that OOP applications are readable, testable, scalable, and maintainable
Single Responsibility Principle
Open-Closed Principle
Liskov Substitution Principle
Interface Segregation Principle
Dependence Inversion
想不出来这其中哪一条原则在 RESTful API 中不适用。
版权声明: 本文为 InfoQ 作者【escray】的原创文章。
原文链接:【http://xie.infoq.cn/article/7bac641f4bc228a7147f35631】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论