代码整洁之道------ 对象和数据结构
来源:互联网 发布:穿旗袍必知礼仪 编辑:程序博客网 时间:2024/04/29 19:31
1.隐藏实现
隐藏实现的目的,个人理解,就是为了两个字------省心。编码者不必担心内部数据结构的暴露,使用者也不必费心去了解内部的实现,两者之间的交互只通过接口进行。好比我按照使用说明对ATM进行操作就可以存钱,不需要在银行有熟人。
隐藏实现并不是简单地把变量声明为私有,然后再给他们加上getter和setter-------这比直接暴露实现没有多大进步。
隐藏实现,并不是简单地为成员变量添加一层函数,它实际上是一种抽象------隐藏关乎实现过程的数据结构,并给用户提供一套该数据结构的存取规则------也就是接口,抽象层次的高低决定了接口的好坏,实际上也就决定了数据结构“隐藏”的是否高明。譬如一个表,用户关心的只是它能不能进行增删改查,并不想知道你是用数组还是链表实现的。而上面说的直接为所有变量添加存取方法大概也算得上是一种抽象------没有抽象,因此它并不高明。
2.数据结构和对象的反对称性
这里所说的数据结构指的是面向过程实现的数据结构,只有实现,没有方法。对象可以理解为面向对象的数据结构,隐藏了数据结构的内部实现,为用户提供了操作数据结构的方法,也就是接口。这里首先说的是,面向对象的实现并不是“纯然的好”,面向过程的实现也不是“必然的恶”,用一句废话来说,采用哪种方式实现,取决于需求。当你的需求是添加新的数据类型而不是新函数的时候,对象和面向对象的实现就比较合适。当你需要的变化主要来自添加新方法的时候,面向过程的实现更好。这就是数据结构和对象的反对称性。
3.The Law of Demeter(迪米特法则) ------talk only to your immediate friends
为了尽量少的违反迪米特法则,应该尽量使用纯粹的实现方法 ------ 要么数据结构,要么对象。
4.不要在DTO或ACTIVE RECORD中塞入业务逻辑
DTO(Data Transfer Objects):是一种精炼的纯粹的数据结构,没有函数或者只有getter方法。
Active Record是DTO的一种特殊形式,它还具有一些如save,find这样的函数,这种数据类型通常是数据库表的直接翻译。
在使用时,要把它们当成纯粹的数据结构而不是对象,不要试图在其中添加业务逻辑。
- 代码整洁之道----对象和数据结构
- 代码整洁之道------ 对象和数据结构
- 代码整洁之道--对象和数据结构
- 代码整洁之道 对象和数据结构
- 《代码整洁之道》摘录---对象和数据结构
- 6、代码整洁之道——对象和数据结构
- 代码整洁之道读书笔记--对象和数据结构
- 代码整洁之道--对象和数据结构体会
- 代码整洁之道(五)---------------------数据结构与对象
- 代码整洁之道精华——第六章 对象和数据结构
- 代码整洁之道-第六章-对象和数据结构-page87
- 代码整洁_对象和数据结构
- [代码整洁之道]-整洁代码
- 《代码整洁之道》总结和感想
- 代码整洁之道
- 代码整洁之道
- 代码整洁之道
- 代码整洁之道
- 2013年全球重要黑客大会时间及网址一览
- C语言 程序设计的任务部分基本知识
- Spring事务管理UnexpectedRollbackException
- php5与mysql5 web 开发技术详解-5 正则表达式
- POJ2985 The k-th Largest Group
- 代码整洁之道------ 对象和数据结构
- 支付宝将对用户授信 信用支付资金来自银行
- [若有所悟]IT小兵总结IT人特点及挽留IT人才的九大策略
- 题目1490:字符串链接
- UNIX文本编辑器VI的简单使用
- Hadoop经典书籍
- stm32 之iic
- Delphi常用内存管理函数
- 技术人员的未来:做技术还是做管理?