1. 程式人生 > >Gemini.Workflow 雙子工作流正式上線(支援.NET Core)

Gemini.Workflow 雙子工作流正式上線(支援.NET Core)

接觸工作流:

最早接觸工作流,是在04年左右,那年,我創造了 Aries 框架的前身第一版框架,另一個同事,創造了工作流的第一版框架。

只是那時候,我並未參與工作流的核心設計,僅僅是幫寫了個流程設計器,就是下圖這個懷舊的樣子:

然後提供一些(撤回、退回)回收演算法的意見。

並提供:CYQ.Data 的原始碼作為底層資料層,那時候還沒開源 CYQ.Data。

悲催的是,同事拿到 CYQ.Data 框架的原始碼,卻把它打散了,沒用MAction,只用MProc,並來了個二次封裝,把sql語句搞了一堆配置的xml檔案,估計是被mybatis毒害了。

以至於後來,有一個專案要用到oracle時,呵呵就兩個字:

好在手頭上還有舊版本的原始碼,把報錯的xml配置Sql檔案重寫,把相關呼叫檢視語句也重寫,勉強在當時的專案流程裡不報錯。

配置的xml語句太多,全部檢測和重寫不現實,畢竟對工作流框架一丁點都不熟。

估計那時候的人年輕啊,所謂的支援多資料庫,都是喜歡這麼坑人的,

就像現在,喜歡用Dapper的,玩玩支援單資料庫還可以,若是支援多資料庫,那也是一個大坑。

瞭解工作流:

說起來,當年,那麼多專案都用到工作流,我卻沒有涉入,連怎麼使用都沒學,更別說瞭解工作流框架的核心思想了。

只是後來,那個oracle專案,讓我不得不接觸工作流,因為報錯啊!

那時候的我還在全力重寫Aries,作為技術支援,我只好稍為了解下工作流。

不瞭解還好,一瞭解就頭大,這程式碼,這命名,這邏輯,我槽,跟我高中時讀英文作文有啥區別,一圈下來,就三字:看不懂。

好在,有時候解決問題,並不需要你懂它,只要執行,看到哪裡報錯,把報錯相關的地方,修改一下就可以了。

後來,Aries上線了,不過卻沒有配套工作流,因為機制不一樣,Aries的純天然html,和早期工作流的aspx,ascx不協調。

重構或重寫工作流?

開始想重構,不過在前前後後看了一個多月的原始碼後,就放棄了,舊同事能把程式碼寫的天然帶混淆效果,我也是服了。

放棄了重構,按自己的思維,重寫吧,新重寫的工作流初命名是叫:Scorpio(天蠍座)才剛設計好資料庫,寫了個開頭,就被各種事情打斷了,然後妖折了。

這重構和重寫是有區別的:

重構,是需要了解原作者的思路,並逐步進行改進,或重寫。

重寫:不需要了解原作者的思路。

後來,工作流這事就放下了,放下了好幾年。

直到去年,老東家讓我幫解決工作流上的一個問題,

畢竟當年框架的原始作者已經離開了,二次接手維護的人,也離開了,估計也沒人敢三次接手維護了。

因此又讓我重拾了工作流了:

又看那天書般的工作流程式碼,唉,好在一週後,感覺好像看懂了一些,問題也幫解決了〜

掐指一算:是時候為 Aries 配上工作流了

前前後後,接觸和了解工作流也好幾年了。

Aries也出來很多年了,是時候配上工作流了。

於是,動手了,只是沒想到,兩個多月,無眠不休,才重寫完。

除了流程圖的樣式有所保留,其它程式碼全部重寫了: 

關於框架取名:Gemini.Workflow,簡稱:雙子流 

終於,十二宮,迎來了新的成員:Gemini(雙子座)

嗯,現在已經集齊四個,還差八個就可以招喚雅典娜了:

Aries(白羊座):.NET Develop Framework(適合場景:業務系統、內部資訊系統、後臺管理系統、ERP,支援.NET Core)

Taurus(金年座):Taurus.Mvc(適合場景:對效能和併發有較高要求的電商、站點、WebAPI等系統,支援.Net Core)

Gemini(雙子座):Gemini.Workflow 使用簡單,功能強大的工作流框架。

Sagit(射手座,Sagittarius):IOS Develop Framework(Sagittarius 射手座:IOS下的一套基礎快速開發框架)

入門教程:

1、Gemini.Workflow 雙子工作流入門教程一:定義流程:流程圖屬性

2、Gemini.Workflow 雙子工作流入門教程二:定義流程:流程節點介紹

3、Gemini.Workflow 雙子工作流入門教程三:定義流程:流程節點、遷移條件引數配置

4、Gemini.Workflow 雙子工作流入門教程四:流程應用

5、Gemini.Workflow 雙子工作流入門教程五:業務表單開發

API文件:

後端:Gemini.Workflow API 文件和 前端: Gemini.Workflow.js API 文件:

https://github.com/cyq1162/Aries/tree/master/Aries.Document

總結:

目前 Gemini.Workflow 雙子流是配套在 Aries 中,兩者結合,成為更加強大的業務系統基礎開發框架。

演示地址:http://aries.cyqdata.com 

框架地址:https://github.com/cyq1162/Aries