Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

inherd/forming

Repository files navigation

Forming

Forming, is a lightweight architecture as code language. 轻量级架构即代码语言

Architecture 3.0 based frameworks.

Usage

// todo

Samples

  1. concept declare with struct & behavior
concept Blog(Displayable, Ownable) {
 struct {
 title, slug, description, gen_description, content, featured_image: String;
 id, user_id, site_id: Integer;
 created, updated: datetime;
 }
 behavior {
 get_absolute_url(): String;
 validate_unique();
 publish_date_since(): datetime;
 published(): Integer;
 save(blog: Blog);
 delete(id: Integer);
 }
}
  1. api declare
api for BlogPost {
 in { title: String, description: String }
 out { blog: Blog }
 pre_cond {
 '字符串不为空': not empty
 }
 pre_cond {
 '博客不为空': 'not empty'
 }
} 
  1. concept space
space Blog {
 package: 'com.phodal.blog', // or path
 type: 'Entity',
 items: { Blog, BlogCategory, BlogCategories, BlogRelatedPosts, Comments }
}
  1. from CSV, uml and swagger (todo)
concepts => file(\"concepts.csv\")
concept Blog {
 behavior { }
 struct uml::dir('').class('Blog')
}

Todo

  • 架构描述
  • (削除) [ ] 架构布局 (削除ここまで)
    • (削除) Diagrams as code (削除ここまで)
    • (削除) Ascii Doctor (削除ここまで)
  • 模型声明
    • DDD Styles
  • 模型代码生成
  • (削除) Highlighted Core Documents (削除ここまで)
    • (削除) auto documentation (削除ここまで)

TBD:

  • workflow design
    • collaboration style
    • physics design
    • associate patterns
    • design patterns in code
  • core driven style
    • domain driven
    • use-cases driven
    • collaboration driven
  • forming visualization
    • web page
    • common architecture patterns in svg
  • Integration (in ext model)
    • UML parser for modeling
    • Swagger to API in/out
    • (削除) Cucumber parser (削除ここまで)
  • codegen
    • java code gen
    • code gen protocol

Documents

Refs

  • Diagrams as code, GitHub: Diagrams
  • Asciidoctor
  • Rust libhoare is a simple Rust support for design by contract-style assertions.
  • genco is a whitespace-aware quasiquoter for beautiful code generation.
  • Iaakov Exman "Software Conceptual Integrity: Deconstruction, Then Reconstruction"

License

@ 2021 This code is distributed under the MIT license. See LICENSE in this directory.

About

Forming, is a lightweight architecture as code language. 轻量级架构即代码语言

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /