Atitit 深入理解软件的本质 attilax总结 软件三原则"三次原则"是DRY原则和YAGNI原则的折

1.1.1. 软件的本质:抽象  1

1.2. 软件开发的过程就是不断抽象的过程 1)机器语言--> 汇编语言-->高级语言,这就是一个不断抽象的过程,1

1.3. 代码的抽象三原则_软件工程_酷勤网.htm1

1.4. “软件是存储、通信、UI(user interface)和业务逻辑的紧密结合体2

1.5. 在软件的生命周期中,较稳定的是存储和通信,最易变化的是业务逻辑;2

1.6. 在软件的层次上,存储和通信一般处于底层,而业务逻辑处于最上层2

1.7. 软件的抽象如何进行抽象??抽象的层次不超过三层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原则的折的更多相关文章

  1. Atitit 深入理解抽象类与接口 attilax总结

    Atitit 深入理解抽象类与接口 attilax总结 1.1. 主要区别接口侧重于动作抽象..抽象类是属性名词抽象..1 1.2. 抽象层次类>>抽象类>>接口1 1.3. ...

  2. Atitit 函数调用的原理与本质attilax总结 stdcall cdecl区别

    Atitit 函数调用的原理与本质attilax总结 stdcall cdecl区别 通常来说函数调用要用到的两条基本的指令:”CALL”指令和”RET”指令.”CALL”指令将当前的指令指针(这个指 ...

  3. Atitit 深入理解耦合Coupling的原理与attilax总结

    Atitit 深入理解耦合Coupling的原理与attilax总结     耦合是指两个或两个以上的电路元件或电网络等的输入与输出之间存在紧密配合与相互影响,并通过相互作用从一侧向另一侧传输能量的现 ...

  4. 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. ...

  5. Atitit 图像金字塔原理与概率 attilax的理解总结qb23

    Atitit 图像金字塔原理与概率 attilax的理解总结qb23 1.1. 高斯金字塔  (  Gaussianpyramid): 拉普拉斯金字塔 (Laplacianpyramid):1 1.2 ...

  6. Atitit 游戏的原理与概论attilax总结

    Atitit 游戏的原理与概论attilax总结 1. 游戏历史2 1.1.1. 盘点PC游戏史上最重要的50款游戏2 1.1.2. 回味人类文明进程 五款经典的历史游戏2 2. 游戏类型(主要分为6 ...

  7. Atitit  深入理解命名空间namespace  java c# php js

    Atitit  深入理解命名空间namespace  java c# php js 1.1. Namespace还是package1 1.2. import同时解决了令人头疼的include1 1.3 ...

  8. Atitit  ocr识别原理 与概论 attilax总结

    Atitit  ocr识别原理 与概论 attilax总结 1.1. Ocr的过程与流程1 1.2. OCR不同技术细分略有不同,但大概原理是一样的. 即主要技术过程是:二值化(又叫归一化)----- ...

  9. Atitit.并发编程原理与概论 attilax总结

    Atitit.并发编程原理与概论 attilax总结 1. 并发一般涉及如下几个方面:2 2. 线程安全性 ( 2.2 原子性 2.3 加锁机制2 2.1. 线程封闭3.3.1Ad-hoc线程封闭 3 ...

随机推荐

  1. iframe中positioin:fixed失效问题

    页面中嵌套的iframe 内的 position:fixed元素定位失效fixed正常页面 此时position:fixed是根据浏览器窗口定位的,下拉一直位于左上角:以iframe形式嵌入后 此时p ...

  2. IE6图片元素img下高度超出出现多余空白

    将图片转换为块级元素:display:block; 设置图片的垂直对齐方式:vertical-align属性为top,text-top,bottom,text-bottom 设置父元素的字体大小为0p ...

  3. JS操作Json

    因为我水啊 所以我就要手打一下 熟悉一下 ===== JSON 全称 JavaScript Object Notation(标记) 一种轻量级的数据交互格式,采用完全独立于语言的文本格式 同事JSON ...

  4. 弱省互测#1 t3

    题意 给出一棵n个点的树,求包含1号点的第k小的连通块权值和.(\(n<=10^5\)) 分析 k小一般考虑堆... 题解 堆中关键字为\(s(x)+min(a)\),其中\(s(x)\)表示\ ...

  5. Xml 建议优先使用属性

    要点:建议优先选用属性的方式记录数据,除非还需要包容层级式的数据. 优点: 1. 可以完全覆盖关系型数据库的数据格式设计,利于交换. 2. 占用空间小.相当于 JSON 格式,不再有大量重复的节点名后 ...

  6. eclipse常见问题

    使用eclipse进入断点,当弹出"Confir Perspective Switch"视图时,选择"Yes".之后每次进入断点都会自动切换到debug视图. ...

  7. WPF-禁止二次启动

    App.xaml.cs protected override void OnStartup(StartupEventArgs e) { //禁止二次启动 this.Startup += new Sta ...

  8. indows server 2008 多用户远程桌面连接设置(验证有效

    然后,在运行框中输入 gpedit.msc 之后,点击确定或者直接按键盘上的回车键  计算机配置-->管理模板-->Windows组件---->远程桌面服务--->远程桌面会话 ...

  9. STM32之通用定时器

    广大的互联网的大家早上中午晚上..又好..没错了..我又来了..写博客不是定时的..为什么我要提写博客不是定时的呢??聪明的人又猜到我要说什么了吧.有前途.其实我还是第一次听到定时器有通用和高级之分的 ...

  10. Node学习思维导图

    如果看不清楚图片上的内容,右键保存图片或新窗口打开.