• 第一篇帖子,先自我介绍一下,我从07年开始关注并实践DDD,也一直在关注jdon的成长(虽然一直没有注册ID并发言)。自己的tech stack是.NET阵营的,一致也在致力推广.NET下DDD的实践。但设计和架构上的思想基本还是一致的。 最近在思考一些ORM和DDD的问题,但是不知道我的思路是否正
  • 这是Joel在2002年提出的,所有不证自明的抽象都是有漏洞的。抽象泄漏是指任何试图减少或隐藏复杂性的抽象,其实并不能完全屏蔽细节,试图被隐藏的复杂细节总是可能会泄漏出来。 抽象漏洞法则说明:任何时候一个可以提高效率的抽象工具,虽然节约了我们工作的时间,但是,节约
  • ORM已经不好了,ActiveRecord其实比ORM更坏,因为它隐藏对象其实是数据容器这样的事实,如果说ORM是将真正对象变成数据容器,那么ActiveRecord还隐瞒了这样事实,也就是说,如果说ORM做了偷梁换柱的坏事,ActiveRecord不但做了,还隐瞒自己做的坏事。 这是来自 [url icon
  • 作为Java和Ruby程序员与架构师的Yegor昨天发表一篇博文:[url= Is an Offensive Anti-Pattern[/url],认为ORM是一个可怕的反模式,违反了所有的面向对象原则,撕裂了对象,将它们变成哑巴和被动的数据袋,没有任何借口在 icon
  • 大家讨论都挺好,我下面进行纯粹分析一下,今天脑子比较好些。 对象和数据库都是一种静态的数据结构,而SQL与LinQ或Lambda表达式或Stream都属于一种动态算法过程。两个分别对应内存和CPU,如同哼哈二将,阴阳一体,一个系统由这个两个组成比较和谐。但是有时会组合错误。 和谐: 数据结构+算法过 icon
  • 这是来自Node.js路线有关混合两种ORM模式Active Record(活动记录模式)和Data Mapper(数据映射模式)的思考。其实质是引发了失血模型与充血模型的区别,更深层次是引出了掌握DDD的必要性。 首先这两种持久模式的特点如下: Active Record(活动记录模式)是领域模型 icon
  • 此模式属于对象关系结构模式目录,此目录属于[url= icon
  • 贫血模型Anemic Model是一种领域模型,其中领域对象包含很少或没有业务逻辑。这个模型最初由Martin Fowler描述,他认为这种做法是反模式。 [i]这种反模式的根本恐怖之处在于它与面向对象设计的基本思想相悖; 这是将数据和过程结合在一起。[/i] Va icon
  • 鲍勃大叔推荐的[url= Seemann[/url]一文:昨天我拜访了一个客户讨论软件架构,包括DDD和ORM。今天我偶然发现了我在2014年写的东西。它仍然反映了我今天的想法。 icon
  • 有两个类:Person 和Document,具有以下业务规则: [list] [*]一个Person 可以拥有零个或一个Document。 [*]Document只能分配给一个Person 。 [*]没有Person就没有Document。 icon
  • Scala不是更好的Java,而是一个具有自己的生态系统,最佳实践和方法的非常独特的语言。 当人们谈论Scala的使用经验时,经常说可以将Scala看作是更好的Java。许多公司特别是在2008-2009年间采用Scala的公司,并不想放弃Java等熟悉的工具,而只是将Scala集成到基于Maven icon
  • 现在人们已经认识到Hibernate等ORM有一定的局限性,在CQRS读写分离的架构中,ORM主要用于命令写操作,进行复杂的增删改查CRUD;而SQL用于查询读操作。 [url= icon
  • 数据库设计看上去很简单,但是如果不经意随意设计,可能会为日后维护拓展或性能方面埋下祸根。以下是20个设计数据库的最佳实践指南: 1. 使用完整的一致的数据表名称和字段名,如:School, StudentCourse, CourseID 2.数据表名称使用单数,比如使用StudentCourse 而 icon
  • [url= · GitHub[/url]为现有的PostgreSQL数据库提供RESTful API服务,它提供一个干净的 标准兼容的 快速的API。 调用方式: [code] postgrest --db-host localhost --db-por icon
  • Swift提供了数据结构struct和类Class两种, 数据结构和类一样支持行为,包括方法和初始化,数据结构和类的重要区别是:数据结构按复制方式传递,当你将一个数据结构传递给另外一个变量时,实际是复制了一份,但是类生成的对象进行传递时是按引用传递,传递的是那个对象的地址(当然地址值也是复制)。 S icon
  • 这是来自Pere Villega的一篇博文,主要从EventSourcing角度谈其对ORM的可替代性。 [b]阻抗不匹配性[/b] 大部分信息系统都是持久化存储信息然后查询获取,这大部分是通过RDBMS完成的,不 icon
  • 领域驱动设计之实践与反思 一、引言 前两三年,在这里我先后写过三个帖子,分别阐述了对三个问题的思考。 1)什么是程序?结论是:程序=数据结构+算法+设计模式。 2)什么是领域模型?结论是:人对领域的认知,即其心智模型。 3) 如何描述领域模型?结果是提出一套建模原语:模型、结构特征、行为特征和场景。 icon
  • 项目架构: [img index=2] 运行界面: [img index=3] [img index=1] 程序下载:[url= 利用国庆假期做了一个KylinORM的案例,欢 icon