WCF中实现ActiveRecord的可序列化版本,其价值何在?

2026-05-27 04:210阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1561个文字,预计阅读时间需要7分钟。

WCF中实现ActiveRecord的可序列化版本,其价值何在?

原文的目的是探讨WCF序列化中ActiveRecord的实现是否有意义。以下是简化后的内容:

探讨WCF序列化中ActiveRecord模式的意义。ActiveRecord模式是Martin Fowler提出的,用于企业应用架构的数据访问模式。以下是一个示例:Person类包含last_name属性。

本文的目的,是探讨WCF可序列化的ActiveRecord实现是否有意义。

ActiveRecord模式简介

ActiveRecord模式是Martin Fowler的企业应用架构模式中提到的一种数据访问模式,如下图:

Person类包含lastName, firstName等这些属性,一个Person类的实例,对应数据库的一个Person表或视图的一条记录,每一个属性,对应数据库记录的一个字段;同时,Person类包含CRUD方法,封装了对数据库的操作;Person类同时还可以包含其他和这条记录相关的业务方法。

ActiveRecord模式和Repository模式,从外部接口上看起来在很多方面很像,但理念其实有区别:

  1. ActiveRecord和数据库访问紧耦合,它更像是对数据库中的一条记录的包装类;Repository则隔离了具体的数据访问和领域对象的CRUD的耦合,这样一层隔离的存在,使得Repository更灵活,他可以还是像ActiveRecord一样包装一条数据库记录,却不限于数据库,数据也可以保存在任何地方,只要外部接口不变,其内部实现有更灵活性。
  2. ActiveRecord的属性,一般应该完全对应于数据库的字段;而Repository的属性,则没有这样的限制。
阅读全文

本文共计1561个文字,预计阅读时间需要7分钟。

WCF中实现ActiveRecord的可序列化版本,其价值何在?

原文的目的是探讨WCF序列化中ActiveRecord的实现是否有意义。以下是简化后的内容:

探讨WCF序列化中ActiveRecord模式的意义。ActiveRecord模式是Martin Fowler提出的,用于企业应用架构的数据访问模式。以下是一个示例:Person类包含last_name属性。

本文的目的,是探讨WCF可序列化的ActiveRecord实现是否有意义。

ActiveRecord模式简介

ActiveRecord模式是Martin Fowler的企业应用架构模式中提到的一种数据访问模式,如下图:

Person类包含lastName, firstName等这些属性,一个Person类的实例,对应数据库的一个Person表或视图的一条记录,每一个属性,对应数据库记录的一个字段;同时,Person类包含CRUD方法,封装了对数据库的操作;Person类同时还可以包含其他和这条记录相关的业务方法。

ActiveRecord模式和Repository模式,从外部接口上看起来在很多方面很像,但理念其实有区别:

  1. ActiveRecord和数据库访问紧耦合,它更像是对数据库中的一条记录的包装类;Repository则隔离了具体的数据访问和领域对象的CRUD的耦合,这样一层隔离的存在,使得Repository更灵活,他可以还是像ActiveRecord一样包装一条数据库记录,却不限于数据库,数据也可以保存在任何地方,只要外部接口不变,其内部实现有更灵活性。
  2. ActiveRecord的属性,一般应该完全对应于数据库的字段;而Repository的属性,则没有这样的限制。
阅读全文