4
为什么REST Api不遵循Facade设计模式
在将REST [api]结构与OO模型进行比较时,我看到了这些相似之处: 都: 面向数据 REST =资源 OO =对象 围绕数据的环绕操作 REST =在资源周围环绕VERBS(获取,发布,...) OO =通过封装促进对象周围的操作 但是,例如,在尝试应用外观模式时,良好的OO实践并不总是站在REST api上:在REST中,您没有1个控制器来处理所有请求,并且您没有隐藏内部对象的复杂性。 相反,REST促进资源与资源之间的所有关系的发布以及至少以两种形式的其他关系: 通过资源层次关系(ID为43的联系人由地址453组成): /api/contacts/43/addresses/453 通过REST json响应中的链接: >> GET /api/contacts/43 << HTTP Response { id: 43, ... addresses: [{ id: 453, ... }], links: [{ favoriteAddress: { id: 453 } }] } 回到OO,外观设计模式考虑了objectA及其“ objectB客户 ” Low Coupling之间的a,以及此objectA及其内部对象组成(objectC,objectD)。随着对象A接口,这允许开发者在极限冲击对象B的对象A的内部变化(objectC和objectD),只要对象A …