领域驱动设计(DDD)框架 Synopse mORMot framework

码农软件 · 软件分类 · ORM/持久层框架 · 2019-09-24 14:58:55

软件介绍

Synopse mORMot framework, 原名Synopse SQLite3 Framework 。是一个Client-Server ORM和SOA框架,适用Delphi6到XE4,Win32或Win64.

可以创建从独立方案到复杂的领域驱动设计:

  • 表示层  MVC UI生成含有i18n和用于Delphi或Ajax的富客户端报表
  • 应用层  实现了SOA,通过interface-based services(像WCF)和Client-Server ORM - 带有使用JSON的RESTful模型跨多种网络协议(包括HTTP/1.1)
  • 领域模型层  用普通Delphi对象处理所需的业务逻辑,包含高层管理的类型,如dynamic arrays or recods for Value Objects, or dedicated classes for Entities or Aggregaates
  • 数据持久基础层  含有ORM持久,通过直接连接Oracle, MS SQL, OleDB, ODBC, ZEOS/ZDBC,或TDataSet库例如FireDAC/AnyDAC, UniDAC, NexusDB 或 BDE, 使用一个强大的SQLite3核心,按需直接SQL访问 - 神奇的效率及高级功能如Array DML
  • 跨领域基础层  用于处理数据的 过滤和验证,安全性(甚至Windows authentication),缓存,日志,测试(框架使用了测试驱动法,并且包含了stubbing and mocking接口)

框架中包含了几个可以独立使用的子项目:

 

The main two features of mORMot are therefore:

  • Client-Server ORM: objects persistence and remote access;
  • Client-Server Services: remote call of high-level data process.

Due to its modular design, switch from such a Client-Server architecture over HTTP, named pipes or GDI messages into a stand-alone application is just a matter of mORMot classes initialization.
For instance, the very same executable can even be running stand-alone, as a server, or a client, depending on some run-time parameters!

Emphasizing simplicity, speed and versatility, mORMot is a incredibly well documented Open Source project easy enough to add basic ORM or Client-Server features to simple applications for hobbyists, or let experienced users develop scaling and strong service-based projects for their customers, with the advantages of native code and easy-to-deploy solutions, reducing deployment cost and increasing ROI.

It provides an Open Source self-sufficient set of units (even Delphi starter edition is enough) for creating any application, from a stand-alone solution up to the most complex Domain-Driven design:

With mORMot, ORM is not used only for data persistence of objects (like in other implementations), but as part of a global n-Tier, Service Oriented Architecture (SOA), ready to implement Domain-Driven solutions.
This really makes the difference.

The business logic of your applications will be easily exposed as Services, and will be accessible from light clients (written in Delphi or any other mean, including AJAX).

The framework Core is non-visual: it provides only a set of classes to be used from code. But you have also some UI units available (including screen auto-generation, reporting and ribbon GUI), and you can use it from any RAD or AJAX clients (via JavaScript or even the newborn Smart Studio).

No dependency is needed at the client level (no DB driver, nor third-party runtime): it is able to connect via standard HTTP, even through a corporate proxy or a VPN. Rich Delphi clients can be deployed just by copying and running a stand-alone small executable, with no installation process. Endpoints are configured automatically for each published interface on the server side, and creating a load-balancing proxy is a matter of one method call.
Speed and scalability has been implemented from the ground up: a single server is able to handle a lot of clients, faster than DataSnap, WCF or node.js, and our rich SOA architecture is able to implement both vertical and horizontal scalable hosting.

Even if mORMot will be more easily used in a project designed from scratch, it fits very well the purpose of evolving any existing Delphi project, or even creating the server side part of an AJAX application.

Licensed under a MPL/GPL/LGPL tri-license.

 

本文地址:https://codercto.com/soft/d/15304.html

C++ 程序设计语言(特别版)(英文影印版)

C++ 程序设计语言(特别版)(英文影印版)

[美] Bjarne Stroustrup / 高等教育出版社 / 2001-8-1 / 55.00

《C++程序设计语言》(特别版)(影印版)作者是C++的发明人,对C++语言有着全面、深入的理解,因此他强调应将语言作为设计与编程的工具,而不仅仅是语言本身,强调只有对语言功能有了深入了解之后才能真正掌握它。《C++程序设计语言》编写的目的就是帮助读者了解C++是如何支持编程技术的,使读者能从中获得新的理解,从而成为一名优秀的编程人员和设计人员。一起来看看 《C++ 程序设计语言(特别版)(英文影印版)》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

在线进制转换器
在线进制转换器

各进制数互转换器

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具