All Projects → system-sekkei → ccsr-object-mapping

system-sekkei / ccsr-object-mapping

Licence: Apache-2.0 license
オブジェクトと画面・テーブル・JSONのマッピング

Programming Languages

HTML
75241 projects
java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to ccsr-object-mapping

niqlow
design, solve and estimate discrete dynamic programs.
Stars: ✭ 16 (-55.56%)
Mutual labels:  object-oriented-programming
FUPRAL
Fortran OO implementation of a generic container using an unlimited polymorphic class. Implementation of a resizable container array and a double linked list.
Stars: ✭ 18 (-50%)
Mutual labels:  object-oriented-programming
Clean-Architecture-Template
Configurable Clean Architecture template containing the DDD + CQRS approach for .NET Core applications.
Stars: ✭ 14 (-61.11%)
Mutual labels:  domain-driven-design
java-notes
Complete Java Note for colleges in Nepal.
Stars: ✭ 30 (-16.67%)
Mutual labels:  object-oriented-programming
advanced-web-developer-bootcamp-notes-examples-and-exercises
Examples and Exercises compiled. From the awesome Advanced Web Developer Bootcamp
Stars: ✭ 24 (-33.33%)
Mutual labels:  object-oriented-programming
cactoos-http
Object-Oriented HTTP Client
Stars: ✭ 37 (+2.78%)
Mutual labels:  object-oriented-programming
financial
POC de uma aplicação de domínio financeiro.
Stars: ✭ 62 (+72.22%)
Mutual labels:  domain-driven-design
object-book
Study Object book Content Repository / 조영호 님의 오브젝트 책을 학습하고 정리한 Repo입니다.
Stars: ✭ 30 (-16.67%)
Mutual labels:  object-oriented-programming
nodebr-meetup-ddd-demo
This is a code sample presented in NodeBR meetup at 2017-07-13
Stars: ✭ 15 (-58.33%)
Mutual labels:  domain-driven-design
typescript-ddd-example
🔷🎯 TypeScript DDD Example: Complete project applying Hexagonal Architecture and Domain-Driven Design patterns
Stars: ✭ 607 (+1586.11%)
Mutual labels:  domain-driven-design
sls-node-ts
Serverless Node TypeScript is a starter kit to write serverless applications by using the Serverless Framework in Node.js and TypeScript. An Apollo GraphQL server and a REST endpoint come configured out of the box
Stars: ✭ 38 (+5.56%)
Mutual labels:  domain-driven-design
educational-platform
Modular Monolith Java application with DDD
Stars: ✭ 124 (+244.44%)
Mutual labels:  domain-driven-design
MonolithicArchitecture
This repository presents an approach on how to build an application using Monolithic architecture, ASP.NET Core, EntityFrameworkCore, Identity Server, CQRS, DDD
Stars: ✭ 18 (-50%)
Mutual labels:  domain-driven-design
e-shop
Sample Spring Cloud microservices e-shop.
Stars: ✭ 48 (+33.33%)
Mutual labels:  domain-driven-design
todo-api-microservice-example
Go microservice tutorial project using Domain Driven Design and Onion Architecture!
Stars: ✭ 479 (+1230.56%)
Mutual labels:  domain-driven-design
tg
Trident Genesis
Stars: ✭ 14 (-61.11%)
Mutual labels:  domain-driven-design
eventuous
Minimalistic Event Sourcing library for .NET
Stars: ✭ 236 (+555.56%)
Mutual labels:  domain-driven-design
pojo-observer
A minimalist object observer with React hooks support. Allows you to separate concerns between presentation and interaction logic
Stars: ✭ 91 (+152.78%)
Mutual labels:  domain-driven-design
DDD
Domain-Driven Design is a software development approach in which it utilizes concepts and good practices related to object-oriented programming.
Stars: ✭ 51 (+41.67%)
Mutual labels:  domain-driven-design
gogen
Clean Architecture Code Generator
Stars: ✭ 42 (+16.67%)
Mutual labels:  domain-driven-design

CCSR オブジェクトマッピング

CCSR(Continuous Concurrent Stepwise Refinement)手法を学ぶための参照プロジェクトの一つです。
このプロジェクトは、実装面、特にオブジェクトと画面・テーブル・JSONデータとのマッピングのやり方を中心にしたサンプルアプリケーションです。

CCSR手法

CCSR手法は、ソフトウェアのもっとも重要な品質は発展性であるという考え方に基づく開発手法です。

CCSR:Continuous Concurrent Stepwise Refinement (継続的・並行的・段階的な発展)

基本コンセプト

  • 要件定義・仕様化・実装の継ぎ目をなくす
  • ビジネスロジックに焦点を合わせる
  • 型によるモジュール構造を基本にする

CCSR手法の特徴

  • 要件定義手法として、要件の関係性・その可視化・関係者の合意形成を重視したRDRA手法を使用
  • ソフトウェア仕様を記述する方法として、プログラミング言語(Java)による記述、JIGによる可視化、IDE IntelliJ IDEAを活用
  • アーキテクチャとして三層+ドメインロジックを採用
  • 実装技術としてSpring MVC, Thymeleaf, MyBatisを使用

参考資料

このサンプルの利用方法

>./gradlew bootRunでアプリケーションを起動し、ブラウザでlocalhost:8080を開いてください。

  • アプリケーションの紹介
  • オブジェクトマッピングの概要
  • アプリケーション画面へのリンク
  • データベース管理画面へのリンク
  • APIドキュメントへのリンク

などのオンラインドキュメントをご覧いただけます。
Javaを使ったアプリケーション開発の経験者を対象に、Spring MVCとMyBatisを使った、オブジェクトと画面・テーブル・JSONデータの マッピングのやり方の参考情報を提供します。

オブジェクトとのマッピング技術

以下の3領域のマッピングの実装例です。

  • オブジェクト ⇔ HTML(画面)
  • オブジェクト ⇔ JSON(Web API)
  • オブジェクト ⇔ SQL(テーブル)

アーキテクチャ

レイヤ構造は 三層+ドメインロジック です。

application/ アプリケーション層
  • coordinator/ 複合サービス
  • repository/ リポジトリ定義
  • service/ 要素サービス
domain/ ドメインロジック
  • model/ モデル
  • type/ 基本型
infrastructure/ インフラストラクチャ層
  • _configuration/ ← 設定
  • datasource/ データソース
  • transfer/ 通信
presentation/ プレゼンテーション層
  • api/ API RESTコントローラ
  • web/ 画面コントローラ

要素技術

  • 全体 : Spring Boot , Gradle
  • プレゼンテーション層 : Spring MVC, Thymeleaf
  • データソース層とデータベース : MyBatis, Flyway, H2 Database Engine
  • ドキュメント生成 : JIG

詳細は、オンラインのドキュメント(localhost:8080で表示)とソースコードを参考にしてください。

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].