繁體中文
English 简体中文 繁體中文
Methodox 首頁

Divooka 設計原則

Divooka 是一個“靈活型別、多正規化 / 混合正規化、AI 賦能、全棧一體、現代的第四代全平臺程式設計系統”:

  • 全棧一體:指的是程式設計模型,以及我們依靠專門的圖形化前端(例如 doc 和 present)來承載專門的“框架”和“外掛”邏輯這一事實。
  • 現代:沒有任何歷史遺留的爛攤子,採用現代 C#,提供完全感知上下文的節點建議,併為高層應用自動生成程式碼。
  • 程式設計系統:它整合了 IDE、編譯器、編輯器、應用程式框架和前端應用。
  • Divooka 不是單個程式,而是一個由相互協作的元件構成的系統,這些元件可以在各處複用,用於定製應用。一個很好的例子是 Stewer 執行時,它的功能在許多地方都以類似方式出現。

我們力求現代化,並在合適時提供 DSL。許多設計決策最終取決於可用資源——利用現有的格式和庫(例如 YAML、SkiaSharp)可以加快開發程序,儘管現有的標準化方案並不總是最適合 Divooka。總的來說,我們的目標是提供一個隔離層,把特定庫的實現細節(例如對 SkiaSharp 的依賴)對使用者隱藏起來,讓使用者只需熟悉 Divooka 原生 API 即可。

配置風格

優先在每個函式上使用強型別、顯式的值,而不是像傳統 C 風格過程式 API 那樣基於狀態進行配置。對於某些圖形 API,由於需要跨 CPU-GPU 邊界更新資源,這樣做可能帶來少量開銷,但從高層指令碼編寫的角度來看,通常更易於使用。目前可參閱這篇部落格瞭解概況。

圖原生 API

根據上述配置風格以及高層的使用特性,我們偏好扁平、顯式、自包含的節點——從開發的角度來看,這意味著在 C# 中以靜態成員的形式公開功能。

在 Divooka 中,以及在我們處理事情、解決問題的方式中,有一個反覆出現的模式:處理任何事情總有三個不同的層次可選——第一,高層;第二,中層;第三,底層。GUI 應用程式框架和 Data Grid 操作就是很好的例子。

無論從根本上還是從實踐上說,要善於解決問題,就要非常熟悉各種可用的資料結構和工具,尤其是平臺自帶的那些,從而避免重複勞動。

其他

請注意,具體的庫和程式可能有各自的設計原則。

以下是具有特定設計風格的標準庫的完整列表:

  1. Pure
  2. Data Grid 庫

詳情請參閱各自的文件或設計說明。