刚看了 zwchen 的 MiniFramework 和 giscat 的 Agile Java Framework, 发现其中一个共同的思想就是通过 Map和List 来实现对象图, 在框架各层之间传递共享. 好像有类似思路和实践的同仁也不少.
这确实是比通常的 ORM 更容易实现和掌握的一条途径, 不过同时也损失了 强类型OO 的类型信息, 和 强语法 的 引用语法检查 能力, 在 重构 方面对 迭代式的敏捷过程 有负面影响.
TOB (
http://tob.ableverse.org) 是我最近搞的一个关系模型的Java对象数据库. 如果在框架中用 TOB 来作为持久层的话, 可能上面的好处可以兼得, 因为TOB是以OO对象为中心的:
当你从 TOB 获得一个 持久对象 的引用时, 必然是已经包含了它的整个持久拓扑结构的, 也就没有必要再由程序去自己构造 Map/List 结构, 持久类写成兼容 JavaBean 规范的话, 应该也可以通过 OGNL 访问.
从应用的角度来看, 相当于你可以用SQL查询到已经在内存中构造好的对象拓扑图中的特定节点, 然后再通过持久对象引用遍历到所有和它相关的节点.
当然TOB假定系统内存可以放得下数据库管理下的最大的拓扑图, 不过随着64位普及, 内存越来越便宜, 大部分项目的硬件环境应该可以适用.
大家有兴趣和时间的请研究研究.
我目前正在写tob数据模型的论文, 进度更新在
http://www.ableverse.org/articles/orkm.html
tob教程也正在写:
http://www.ableverse.org/tutorials/tob/
分享到:
相关推荐
**KJFrameForAndroid快速开发框架源码详解** KJFrameForAndroid,也被称为KJLibrary,是一款专为Android开发者设计的高效、便捷的开发框架。它的主要目标是简化常见的开发任务,例如网络请求、图片加载和数据库操作...
【标题】:“图片系统S2SH框架开发”指的是基于Struts2、Spring和Hibernate这三种技术集成的Web应用开发框架,通常简称为S2SH框架。这个框架在IT行业中广泛用于构建复杂的、数据驱动的Web应用程序,特别是对于图片...
在Android应用开发中,选择一个合适的开发框架是至关重要的,因为它可以大大提高开发效率,同时确保应用的稳定性和可维护性。"Android APP开发框架"是一个集合了多种功能组件的综合框架,它包括了网络请求、对话框...
本资源摘要信息对 Java 开发中常用的开源框架架构图进行了介绍,涵盖了Struts、Hibernate、Spring、iBatis 等多种框架的架构图和简介文章分类。这些框架都是 Java 开发中最常用的框架,了解它们的架构图和特点对 ...
在iOS开发中,数据持久化是至关重要的,它允许应用程序在用户关闭应用或者设备重启后仍然保留数据。本文将深入探讨iOS中的几种主要数据持久化技术:Preference(偏好设置)、文件存储、归档、数据库(SQLite)以及...
而Core Data则是Apple提供的对象图管理框架,它包含了数据建模、持久化、查询等功能,适合处理复杂的数据关系。对于简单的数据存储,`UserDefaults`也是个不错的选择,它适用于存储用户偏好或轻量级数据。 综上所述...
本主题将深入探讨“iOS移动开发框架”,特别是与根视图控制器(Root View Controller)相关的开发技术,以及在Demo中涉及到的抽屉样式和TabBar样式。 首先,我们要理解iOS开发中的“框架”。在Objective-C或Swift...
本系统采用的是S2SH框架,即Struts2、Spring和Hibernate三大核心技术的集成,是Java Web开发中常见的一种高效、稳定的解决方案。本文将详细介绍基于S2SH框架的图书馆管理系统的核心技术和实现方式。 首先,Struts2...
- Spring表达式语言(SPEL,Spring Expression Language):提供了一种强大的表达式语言来查询和操作对象图,运行时查询和操作对象图。 控制反转(IoC)和依赖注入(DI): - 控制反转是Spring框架的核心,它通过...
这份文档名为《Java EE 框架整合开发入门到实战——Spring+Spring MVC+MyBatis(微课版)课后习题答案.pdf》,它显然是关于Java EE中流行的三个框架整合使用的教程。这三个框架分别是Spring、Spring MVC和MyBatis,...
在IT行业中,SSH(Struts2 + Spring + Hibernate)是一个非常经典的Java Web开发框架,用于构建高效、可扩展的企业级应用程序。这个“WEB开发-SSH三层框架”项目涵盖了这三个核心组件,以及相关的数据库文件和工程...
【Spring框架】 ...而Struts1则在早期Web开发中起到了推动作用,但随着技术的发展,更多现代的MVC框架如Spring MVC和Struts2取代了它。理解这些框架的工作原理和适用场景,有助于选择最合适的工具来构建系统。
SSM框架是Java Web开发中常用的一种集成框架,它由Spring、Spring MVC和MyBatis三个开源项目组合而成。在"基于SSM框架技术开发的图书管理系统"中,这三个框架各司其职,共同构建了一个高效、灵活的后台系统。 1. **...
在Android应用开发中,快速开发框架的使用是提高效率、减少重复劳动的关键。"ANDROID 快速开发框架"就是这样一个工具,它旨在帮助开发者在构建应用程序时,将更多的精力集中在业务逻辑上,而不是基础架构的搭建。...
2. **Hibernate**:作为持久层框架,Hibernate简化了数据库操作,使得开发者无需关注底层SQL语句,而是通过对象关系映射(ORM)来管理数据库中的数据。在图书订购系统中,Hibernate可能被用来创建、查询、更新和删除...
EMF不仅是一个框架,还包含一组工具,支持模型的生成、编辑和持久化,是开发面向模型的系统的关键组成部分。 本指南主要针对想要使用EMF进行开发的Java程序员,将深入介绍如何利用EMF构建模型驱动的软件系统。以下...
### 后端开发框架 MyBatis四大核心对象之ParameterHandler #### 一、概述 在MyBatis这一流行的企业级Java持久层框架中,存在四个关键的核心对象:SqlSession、Configuration、Executor 和 ParameterHandler。其中...
这个框架结合了Spring的核心特性、Spring MVC的Web处理能力以及MyBatis的持久层操作,提供了高效且灵活的开发环境。在SSM框架中实现图片的上传与显示,涉及到了文件上传、文件存储、数据库交互以及前端展示等多个...
《Android 极速开发框架 dhroid.zip:源码解析与应用》 在移动应用开发领域,Android以其开源、灵活的特点,成为了开发者们的首选平台。为了提高开发效率,各种框架应运而生,其中"dhroid"便是一款专为Android开发...
Spring是企业级Java应用的事实标准,它是一个全面的开发框架,支持依赖注入(DI)、面向切面编程(AOP)、事务管理、数据访问、Web应用以及更多的功能。Spring Boot使得创建独立的、生产级别的基于Spring的应用变得...