国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Stepping.js——兩步完成前后端分離架構(gòu)設(shè)計(jì)

NeverSayNever / 738人閱讀

摘要:事件風(fēng)暴事件風(fēng)暴就是把所有的關(guān)鍵參與者都召集到一個(gè)很寬敞的屋子里來開會(huì),并且使用便利貼來描述系統(tǒng)中發(fā)生的事情。一張桔黃色的便利貼代表一個(gè)領(lǐng)域事件,在上面用一句過去時(shí)的話描述曾經(jīng)發(fā)生過什么事情,格式一般是已。

一周前,參加了公司的一個(gè)架構(gòu)設(shè)計(jì)與建模的工作坊——『事件風(fēng)暴』。從某種意義上來說,這是一個(gè)關(guān)于架構(gòu)設(shè)計(jì)與軟件建模的工作坊。于是便閃現(xiàn)了一個(gè)靈感,便有了 Stepping.js。

當(dāng)我們結(jié)束事件風(fēng)暴(Event Stroming)的時(shí)候,我們需要拍照,又或者是其他手段來記錄下相關(guān)的內(nèi)容。因此,整理這些文檔又不是一個(gè)的容易的事。而事實(shí)上,我們只需要一個(gè) DSL(領(lǐng)域特定語言),我們就可以直接將這個(gè)文檔轉(zhuǎn)換為圖片,還有文檔等等的內(nèi)容。

因此,我寫了一個(gè)名為 Stepping 的工具,來簡化這方面的工作。

Stepping

步驟一:安裝 Stepping

為了使用 Stepping,我們需要先安裝 Stepping,可以能過 yarn 或者 npm 來安裝:yarn global add stepping

步驟二:設(shè)計(jì)領(lǐng)域模型

除此,我們還需要設(shè)計(jì)好系統(tǒng)相關(guān)的領(lǐng)域模型,如:

再以 DSL 的形式來描述這個(gè)模型:

domain: 庫存子域
  aggregate: 庫存
    event: 庫存已增加
    event: 庫存已恢復(fù)
    event: 庫存已扣減
    event: 庫存已鎖定
    command: 編輯庫存

  aggregate: 商品
    event: 商品已創(chuàng)建
    command: 添加商品

保存這個(gè)文件為phodal.ffffd,然后執(zhí)行stepping -i phodal.ffffd。就可以得到一個(gè) stepping.svg 的文件,這個(gè) SVG 文件便能得到上面的領(lǐng)域模型。

同時(shí),如果你愿意的話,你還可以在這個(gè) DDD 文件里寫上相關(guān)的聚合的 Model:

aggregate-detail: 商品
  model: product
    field: 
      id: int
      name: string
      number: string
      manufacturers: string

再執(zhí)行下 stepping -i phodal.ffffd,就可以得到一份前后端分離的示例 API 接口,即:

{
    "count": 1,
    "next": null,
    "previous": null,
    "results": [
        {
            "id": 0,
            "name": "name",
            "number": 0,
            "manufacturers": "manufacturers"
        }
    ]
}

結(jié)合一下 moco 或者 pretender,就可以直接變成一個(gè) Mock 服務(wù)器。

在未來,我們還將結(jié)合這個(gè) Model 來與 Django 做集成——只需要寫好設(shè)計(jì)稿的 DSL,就可以生成相關(guān)的文檔。

末了,讓我們了解一下什么是領(lǐng)域風(fēng)暴。

事件風(fēng)暴

事件風(fēng)暴就是把所有的關(guān)鍵參與者都召集到一個(gè)很寬敞的屋子里來開會(huì),并且使用便利貼來描述系統(tǒng)中發(fā)生的事情。

一張桔黃色的便利貼代表一個(gè)領(lǐng)域事件,在上面用一句過去時(shí)的話描述曾經(jīng)發(fā)生過什么事情,格式一般是:xx 已 xx。于是,我們需要整理系統(tǒng)相關(guān)的所有事件,也因此需要業(yè)務(wù)與開發(fā)人員共同進(jìn)行風(fēng)暴。如針對一個(gè)訂單,會(huì)有這么一些相關(guān)的事件:

訂單已創(chuàng)建

訂單已支付

訂單已投訴

訂單已撤銷

便會(huì)產(chǎn)生相關(guān)的便利貼:

再按事件發(fā)生的時(shí)間軸,來對這些事件發(fā)生的順序進(jìn)行排序:

緊接著,我們需要結(jié)合軟件的用戶的相關(guān)操作,寫著與這些操作相關(guān)的命令。然后,結(jié)合這些命令事件。如訂單相關(guān)的命令就有:

提交訂單,可以觸發(fā)事件『訂單已創(chuàng)建』

提交投訴,可以觸發(fā)事件『訂單已投訴』

等等

完成這個(gè)之后, 我們就有了系統(tǒng)相關(guān)的所有事件與命令

換句話來說,這些相關(guān)的事件與命令就是我們編寫細(xì)節(jié)代碼時(shí),需要完成的功能。最后,完成相關(guān)的聚合,我們就可以得到一份完整的模型:

依據(jù)這個(gè)模型,我們可以輕松地做出微服務(wù)設(shè)計(jì)。

歡迎試用,并在 GitHub 上提出建議:https://github.com/phodal/ste...

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/82298.html

相關(guān)文章

  • 前后分離時(shí)代,Java 程序員的變與不變!

    摘要:前后端分離的開發(fā)方式在最近幾年突然火起來,松哥認(rèn)為有兩方面的原因前端的發(fā)展。不變其實(shí)除了前后端交互方式發(fā)生變化之外,其他的地方都是不變的。 事情的起因是這樣的,有個(gè)星球的小伙伴向邀請松哥在知乎上回答一個(gè)問題,原題是: 前后端分離的時(shí)代,Java后臺程序員的技術(shù)建議? 松哥認(rèn)真看了下這個(gè)問題,感覺對于初次接觸前后端分離的小伙伴來說,可能都會(huì)存在這樣的疑問,于是決定通過這篇文章和大家聊一...

    SolomonXie 評論0 收藏0
  • 前后分離思考

    摘要:前后端分離的項(xiàng)目開發(fā)策略已經(jīng)不是什么新鮮東西了,網(wǎng)上介紹這方面的文章非常多。我自己是在年的時(shí)候接觸到的,對這種開發(fā)策略一直愛不釋手,不管新老項(xiàng)目都會(huì)首先用前后端分離的思維先去思考一番。 前后端分離的項(xiàng)目開發(fā)策略已經(jīng)不是什么新鮮東西了,網(wǎng)上介紹這方面的文章非常多。我自己是在14年的時(shí)候接觸到的,對這種開發(fā)策略一直愛不釋手,不管新老項(xiàng)目都會(huì)首先用前后端分離的思維先去思考一番。從14年到現(xiàn)在...

    余學(xué)文 評論0 收藏0
  • 前后分離的總結(jié)

    摘要:如何去解決這些問題前后端分離大部分的互聯(lián)網(wǎng)公司都分成了前端團(tuán)隊(duì)和后端團(tuán)隊(duì)。方案一采用架構(gòu)業(yè)界很多公司會(huì)采用,單頁應(yīng)用的架構(gòu),這種架構(gòu)是天然的前后端分離的。方案二淘寶的大前端方案中途島上圖是淘寶基于的前后端分離分層,以及的職責(zé)范圍。 我們遇到了什么問題? 1.前端無法調(diào)試后端未完成的 API:如果后端同學(xué)還沒有完成 API 開發(fā),那么前端同學(xué)就不能對這個(gè) API 進(jìn)行開發(fā)。之前我們都是在...

    enrecul101 評論0 收藏0
  • 前后分離模式

    摘要:采用前后端分離模式可以減后臺負(fù)擔(dān),加快研發(fā)效率,當(dāng)然,前提是前端能做好的話。還是基礎(chǔ)不夠?qū)е碌暮蠖耸欠耧L(fēng)格很多公司采用了前后端分離模式后,后端仍然采用以往的傳統(tǒng)風(fēng)格,這是不合理的,風(fēng)格的應(yīng)該是前后端分離的最佳實(shí)踐。 showImg(https://segmentfault.com/img/bVFC8f?w=690&h=360);早期的web開發(fā)是不分前端后端的。互聯(lián)網(wǎng)進(jìn)入Web2.0時(shí)...

    fobnn 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<