WCF中实现ActiveRecord的可序列化版本,其价值何在?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1561个文字,预计阅读时间需要7分钟。
原文的目的是探讨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模式,从外部接口上看起来在很多方面很像,但理念其实有区别:
- ActiveRecord和数据库访问紧耦合,它更像是对数据库中的一条记录的包装类;Repository则隔离了具体的数据访问和领域对象的CRUD的耦合,这样一层隔离的存在,使得Repository更灵活,他可以还是像ActiveRecord一样包装一条数据库记录,却不限于数据库,数据也可以保存在任何地方,只要外部接口不变,其内部实现有更灵活性。
- ActiveRecord的属性,一般应该完全对应于数据库的字段;而Repository的属性,则没有这样的限制。
本文共计1561个文字,预计阅读时间需要7分钟。
原文的目的是探讨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模式,从外部接口上看起来在很多方面很像,但理念其实有区别:
- ActiveRecord和数据库访问紧耦合,它更像是对数据库中的一条记录的包装类;Repository则隔离了具体的数据访问和领域对象的CRUD的耦合,这样一层隔离的存在,使得Repository更灵活,他可以还是像ActiveRecord一样包装一条数据库记录,却不限于数据库,数据也可以保存在任何地方,只要外部接口不变,其内部实现有更灵活性。
- ActiveRecord的属性,一般应该完全对应于数据库的字段;而Repository的属性,则没有这样的限制。

