文档章节

设计模式与设计原则

wiitht
 wiitht
发布于 2017/06/19 16:21
字数 823
阅读 0
收藏 0

自上而下编程:
对象(Object)是问题域或实现域中某些事物的一个抽象,它反映此事物在系统中需要保存的信息和发挥的作用;它是一组属性和有权对这些属性进行操作的一组服务的封装体。关于对象要从两方面理解:一方面指系统所要处理的现实世界中的对象;另一方面对象是计算机不直接处理的对象,而是处理相应的计算机表示,这种计算机表示也称为对象。简单的来说,一个人就是一个对象,一个尺子也可以说是个对象。当这些对象可以用数据直接表示时,我们就称他为属性,尺子的度量单位可以是厘米,公尺或英尺,这个度量单位就是尺子的属性。

 

1.思维方式的对比
西方:分析一个结构直到把它分解为不可分割的单位,再加以数量化的研究和表述,是典型的数理分析套路,在西方科学的文化中,不能精确化和数量化的结构不受重视

设计模式和设计原则是优选后的代码结构、编码风格以及解决问题的思考方式
>>模式:
1.模式化的过程是把问题抽象化,在忽略不重要的细节后,发现问题的一般性质,并找到普遍适用的解决方案的过程(形)
2.模式:对于相同问题的不同的解决方案的共同的本质
封装的可变性:开闭原则

从计算机的角度看软件:
软件的内在属性:“无名”映射到人脑之前的属性
源码:“气”,汇聚成一定的“形”(模式),“形”具有角色性
“道”:设计从软件的整体性出发,性能的变化软件整体是不会变化的
在变化的世界中保持软件设计的稳定性,是软件设计的永恒之道

性能具有分化性


模式的描述需要按一定的格式,模式描述的要素

设计:可扩展性、灵活性、可插入性
面向对象设计的复用:
数据的抽象化和继承关系:概念和定义可以复用
多态性:实现和应用复用
封装和抽象化:系统的可维护性

抽象层次:封装了与商业逻辑有关的重要行为
具体层次:

可维护性的复用

1.系统的可扩展性:开闭原则、里氏代换、依赖倒转、组合/聚合复用
2.系统的灵活性:开闭原则、迪米特法则、接口隔离原则
3.系统的可插入性:开闭原则、里氏代换、依赖倒转、组合/聚合复用

创建模式、结构模式、行为模式
------
相互作用
整体的属性,在界定之后表现出多样的性质,这样的性质通过设计原则和设计模式表现出来
“门”即“形”是了解系统多样性质的途径

“道”:由“形”到“质”的过程中体现的实质

思想与编程的思维方式结合

© 著作权归作者所有

wiitht
粉丝 4
博文 158
码字总数 113941
作品 0
深圳
架构师
私信 提问

暂无文章

IT兄弟连 Java语法教程 Java语言的跨平台特性

什么是平台 Java是可以跨平台的编程语言,那么首先我们需要知道什么是平台,通常我们把CPU与操作系统的整体称为平台。 CPU大家都知道,是计算机的大脑,它既负责思维运算,又负责计算机中各种...

老码农的一亩三分地
18分钟前
0
0
http传值问题

这两天遇到一个问题 ,与一个渠道联调接口,http请求,展示ptf 的需求,服务方以一个二进制的方式返回。 当时我们在一开始开发的时候,我们按照读取文件的方式处理,本地存一个ptf 的方式 ,...

鬼才王
27分钟前
2
0
【面试】如果你这样回答“什么是线程安全”,面试官都会对你刮目相看

不是线程的安全 面试官问:“什么是线程安全”,如果你不能很好的回答,那就请往下看吧。 论语中有句话叫“学而优则仕”,相信很多人都觉得是“学习好了可以做官”。然而,这样理解却是错的。...

中关村的老男孩
27分钟前
4
0
5.01- Druid数据源配置

1、配置项 配置 缺省值 说明 name 无 配置这个属性的意义在于,如果存在多个数据源,监控的时候 可以通过名字来区分开来。如果没有配置,将会生成一个名字, 格式是:"DataSource-" + Syste...

静以修身2025
32分钟前
2
0
itop4412开发板-Linux内核的编译

本篇文章基于itop4412开发板 5.3.2.1源码目录 Linux 内核源码在光盘“06_源码_uboot 和 kernel”目录下,如下图所示。 5.3.2.2 编译器 内核的编译器和 uboot 的编译器一样,参考“5.3.1.2 编...

书白
36分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部