设为首页 加入收藏

TOP

C#开发的两个基本编程原则的深入讨论
2014-11-23 20:20:32 】 浏览:324
Tags:开发 两个 基本 编程 原则 深入 讨论

  使用属性,避免将数据成员直接暴露给外界


  学习研究.net的早期,经常碰到一些学习C#/.NET的朋友问,要属性这种华而不实的东西做什么?后来做项目时也时常接到team里的人的抱怨反馈,为什么不直接放一个public字段?如:





  我记得在早期的一个项目里,team中的一个朋友甚至厌烦了写private字段+public属性,尤其是碰到一大堆臃肿的data object class的时候,索性自己写了一个小工具,来提供一个类的字段名和类型,然后自动为该类生成相应的private字段+public属性。


  我在编程的时候是个彻底的实用主义者,用稍微高雅一点的话说叫“不喜欢过度的设计”。如果真的像上面那样写Card,而且在将来没有什么改变的需求,我也不喜欢像上面第2段程序那样把事情故意搞得复杂。但如果从component的角度来讲,总有一些class是要供外部长久地使用,也潜在地在将来有被改变的需求。这时候,提供属性就很有必要了。


  这就是这个Item试图要归纳的使用属性的理由:


  1.可以对赋值做校验、或者额外的处理


  2.可以做线程同步


  3.可以使用虚属性、或者抽象属性


  4.可以将属性置于interface中


  5.可以提供get-only或者set-only版本,甚至可以给读、写以不同的访问权限(C# 2.0支持)


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇深入剖析C++重载函数的应用 下一篇Bjarne:为什么不能有虚拟构造函..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目