Atitit 深入理解软件的本质 attilax总结 软件三原则"三次原则"是DRY原则和YAGNI原则的折
Atitit 深入理解软件的本质 attilax总结 软件三原则"三次原则"是DRY原则和YAGNI原则的折
1.2. 软件开发的过程就是不断抽象的过程 1)机器语言--> 汇编语言-->高级语言,这就是一个不断抽象的过程,1
1.4. “软件是存储、通信、UI(user interface)和业务逻辑的紧密结合体2
1.5. 在软件的生命周期中,较稳定的是存储和通信,最易变化的是业务逻辑;2
1.6. 在软件的层次上,存储和通信一般处于底层,而业务逻辑处于最上层2
1.8. 何谓抽象?? 即是可以把它大概画出来即为第一层抽象2
1.1.1. 软件的本质:抽象
1.1. 软件开发的过程就是不断抽象的过程 1)机器语言--> 汇编语言-->高级语言,这就是一个不断抽象的过程,
随着层次的提升,人们的开发效率也越来越高。函数/过程是重要的抽象
文件也是抽象的一个层次
人认为java语言中的包、c#的命名空间属于在此层次之上的更高层次的抽
软件架构的模块划分,是对系统的抽象
1.2. 代码的抽象三原则_软件工程_酷勤网.htm
一、DRY原则
二、YAGNI原则
YAGNI是 You aren't gonna need it 的缩写,意思是"你不会需要它"。
三、Rule Of Three原则
Rule of three称为"三次原则",指的是当某个功能第三次出现时,才进行"抽象化"。
二、三种常见的抽象方法 分类class化,聚集aggrate
分类class化 学生(王兰,李伟)
聚集aggrate 对象与属性的关系。(李伟,名字,年龄)
概括 generation 学生》》本科生,研究生
1.3. “软件是存储、通信、UI(user interface)和业务逻辑的紧密结合体
1.4. 在软件的生命周期中,较稳定的是存储和通信,最易变化的是业务逻辑;
1.5. 在软件的层次上,存储和通信一般处于底层,而业务逻辑处于最上层
1.6. 软件的抽象如何进行抽象??抽象的层次不超过三层
1.7. 抽象层次越高,接口的语意就越模糊,适用的范围就越广,到最后就会变成数学模型或者概念:
1.8. 何谓抽象?? 即是可以把它大概画出来即为第一层抽象
比吗,画出马,就是第一个抽象。。
在上抽象就是动物,动物,就没办法话出来了。。在上一层,生物,根加没办法。
1.9. 抽象的层次性 具体的 vs抽象
当说“这是一只猫”的时候,如果站在哺乳动物的角度来看这句话是具体的,而如果站在波斯猫的角度来看这句话是抽象的。可见同一段描述在高于它的抽象层次来看就是具体的,在低于它的抽象层次来看就是抽象的。波斯猫->猫->哺乳动物->动物->生物->物质->万事万物,事物的抽象层次不断提升达到顶级的时候,就是中国古代智慧结晶《易经》中所谓的阴阳变化,
参考资料
软件抽象 - Tony Bai - 博客大巴.htm
数据抽象及三种抽象方法_百度文库.htm
作者:: 绰号:老哇的爪子claw of Eagle 偶像破坏者Iconoclast image-smasher
捕鸟王"Bird Catcher 王中之王King of Kings 虔诚者Pious 宗教信仰捍卫者 Defender of the Faith. 卡拉卡拉红斗篷 Caracalla red cloak
简称:: Emir Attilax Akbar 埃米尔 阿提拉克斯 阿克巴
全名::Emir Attilax Akbar bin Mahmud bin attila bin Solomon Al Rapanui
埃米尔 阿提拉克斯 阿克巴 本 马哈茂德 本 阿提拉 本 所罗门 阿尔 拉帕努伊
常用名:艾提拉(艾龙), EMAIL:1466519819@qq.com
转载请注明来源:attilax的专栏 http://www.cnblogs.com/attilax/
--Atiend
Atitit 深入理解软件的本质 attilax总结 软件三原则"三次原则"是DRY原则和YAGNI原则的折的更多相关文章
- Atitit 深入理解抽象类与接口 attilax总结
Atitit 深入理解抽象类与接口 attilax总结 1.1. 主要区别接口侧重于动作抽象..抽象类是属性名词抽象..1 1.2. 抽象层次类>>抽象类>>接口1 1.3. ...
- Atitit 函数调用的原理与本质attilax总结 stdcall cdecl区别
Atitit 函数调用的原理与本质attilax总结 stdcall cdecl区别 通常来说函数调用要用到的两条基本的指令:”CALL”指令和”RET”指令.”CALL”指令将当前的指令指针(这个指 ...
- Atitit 深入理解耦合Coupling的原理与attilax总结
Atitit 深入理解耦合Coupling的原理与attilax总结 耦合是指两个或两个以上的电路元件或电网络等的输入与输出之间存在紧密配合与相互影响,并通过相互作用从一侧向另一侧传输能量的现 ...
- atitit.attilax的软件 架构 理念.docx
atitit.attilax的软件 架构 理念.docx 1. 预先规划.1 2. 全体系化1 3. 跨平台2 4. 跨语言2 5. Dsl化2 5.1. 界面ui h5化2 6. 跨架构化2 7. ...
- Atitit 图像金字塔原理与概率 attilax的理解总结qb23
Atitit 图像金字塔原理与概率 attilax的理解总结qb23 1.1. 高斯金字塔 ( Gaussianpyramid): 拉普拉斯金字塔 (Laplacianpyramid):1 1.2 ...
- Atitit 游戏的原理与概论attilax总结
Atitit 游戏的原理与概论attilax总结 1. 游戏历史2 1.1.1. 盘点PC游戏史上最重要的50款游戏2 1.1.2. 回味人类文明进程 五款经典的历史游戏2 2. 游戏类型(主要分为6 ...
- Atitit 深入理解命名空间namespace java c# php js
Atitit 深入理解命名空间namespace java c# php js 1.1. Namespace还是package1 1.2. import同时解决了令人头疼的include1 1.3 ...
- Atitit ocr识别原理 与概论 attilax总结
Atitit ocr识别原理 与概论 attilax总结 1.1. Ocr的过程与流程1 1.2. OCR不同技术细分略有不同,但大概原理是一样的. 即主要技术过程是:二值化(又叫归一化)----- ...
- Atitit.并发编程原理与概论 attilax总结
Atitit.并发编程原理与概论 attilax总结 1. 并发一般涉及如下几个方面:2 2. 线程安全性 ( 2.2 原子性 2.3 加锁机制2 2.1. 线程封闭3.3.1Ad-hoc线程封闭 3 ...
随机推荐
- silverlight使用小计(先做记录后续整理)
1.Grid: a.通过获取指定行的高度和指定列的宽度来获取指定单元格的宽高 b.几种宽高默认值: 宽高(Width/Heigth):1* 最大宽高(MaxWidth/MaxHeigth):正无穷大 ...
- 在powerdesigner中创建物理数据模型
物理数据模型(PDM)是以常用的DBMS(数据库管理系统)理论为基础,将CDM/LDM中所建立的现实世界模型生成相应的DBMS的SQL语言脚本.PDM叙述数据库的物理实现,是对真实数据库的描述 PDM ...
- C# 文件读写
1.文本文件读写 //读 FileStream fs = new FileStream(filepath, FileMode.Open, FileAccess.Read); StreamReader ...
- 编译原理-词法分析05-正则表达式到DFA-01
编译原理-词法分析05-正则表达式到DFA 要经历 正则表达式 --> NFA --> DFA 的过程. 0. 术语 Thompson构造Thompson Construction 利用ε ...
- 疑难问题解决备忘录(3)——ubuntu12.04配置vsftp本地用户登录
vsftpd.conf相关项设置 local_enabled = YES write_enable=YES pam_service_name=ftp pam_service_name按默认的vsftp ...
- Linux 常识
一.Linux 各目录及每个目录的详细介绍: Linux目录和Windows目录有着很大的不同,Linux目录类似一个树,最顶层是其根目录,如下图: /bin 二进制可执行命令 /dev 设备特殊文件 ...
- [Leetcode] Contains Duplicate III
Given an array of integers, find out whether there are two distinct indices i and j in the array suc ...
- [知识点]字符串Hash
1.前言 字符串的几大主要算法都多少提及过,现在来讲讲一个称不上什么算法, 但是非常常用的东西——字符串Hash. 2.Hash的概念 Hash更详细的概念不多说了,它的作用在于能够对复杂的状态进行简 ...
- weex scroller
今天学习了一下weex的 scroller.就简单地对其整理一下自己的学习笔记. <scroller>这个标签只能出现在列(column)上面, 只有当它自己的内容大于类似与PC父级的高度 ...
- python小程序
使用python实现在crt中捕捉出现的异常信息,并统计出现的次数: #$language = "Python" #$interface = "1.0" def ...