首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C语言系统化精讲 重塑你的编程思维-完整分享

核心代码,注释必读

// download:3w 52xueit com

vue 2.x 响应式

Object.defineProperty

爱学it学无止境

接下来又是我最常说的一句话,“好久都没写文章了”。确实是这样,自从实习之后每天就是连轴转,学习时间都很少,虽然工作的时候都会从中学到很多东西,只是闲暇之余的学习时间变少了。一到周末就只想续命,其他什么都不想干,所以更不可能学习。

最近组里没什么事,下周才会有需求,就去学习了一下组里的两个项目,一个是富文本编辑器还有一个就是bff。富文本太难了,看了1%都不到就看不懂了,直接开始怀疑人生。就跟你考英语的时候一样,每个字母和单词都能看得懂,但阅读理解就是写不对,愣是不知道它在干什么。所以我就去看bff了,bff还是要容易点,它其实就是一种node的用法,不过我自己也还没弄明白,等我弄明白再给你们介绍一下,到时候大家记得提醒我哈,提醒我回来补基础概念。

洋葱模型

洋葱模型(Onion Architecture)在构建后端服务(BFF, Backend for Frontend)时是一种常用的架构模式。它是由 Jeffrey Palermo 提出的一种分层架构设计模式,它将应用程序分为多个不同的层,每一层都有自己的职责和依赖关系。这种设计有助于提高应用程序的灵活性、可测试性和可维护性。在bff的场景中有比较广泛的使用,具体表现在以下几个方面:

关注点分离: 洋葱模型将应用程序划分为不同的层,如领域层、应用服务层、基础设施层等,有利于关注点的分离和关注点的管理。

依赖倒置: 内层模块不依赖外层模块,而是通过接口或抽象类进行依赖。这种依赖倒置有利于提高模块的灵活性和可测试性。

可重用性: 由于分层的设计,BFF 中的领域模型、应用服务等可以被其他应用服务复用,提高了代码的可复用性。

易测试: 由于各层之间通过接口或抽象类耦合,可以很容易地对每一层进行单元测试和集成测试。

demo展示

先来看一个洋葱模型的demo,这里我是用koa写的,koa本身就是支持洋葱模型的,后面会带大家手搓一个

const Koa = require('koa')

const app = new Koa()

// 中间件1

app.use((ctx, next) => {

 console.log('我是你爹');

 next()

 console.log('我是你爹的爹');

})

// 中间件2

app.use((ctx, next) => {

 console.log('你是我儿子')

 next()

 console.log('你是我儿子的儿子');

})

// 中间件3

app.use((ctx, next) => {

 console.log('我是你爷爷');

 next()

 console.log('我是你爷爷的爷爷');

})

app.listen(2003, () => {

 console.log('serve is listen');

})

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OKHM1xQ0w86yWgpeLWNIhyOw0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券