当前排序:发布时间 按阅读数
每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心
——Christopher Alexander
设计模式描述了软件设计过程中某......
面试的时候被问到几次python的OOP都挂了,决定认真的学一遍~~
python的面向对象的设计和c++等编译语言不同,主要注意的是:
python的类没有访问权限的问题,......
new的问题
常规的对象创建方法:
new的问题:-实现依赖,不能应对“具体实例化类型”的变化
解决思路:
-封装变化点——哪里变......
从耦合关系谈起
耦合关系直接决定着软件面对变化时的行为
-模块与模块之间的紧耦合使得软件面对变化时,相关模块都要随之更改
-模块与模块之间的松......
适配(转换)的概念无处不在
适配,即在不改变原有实现的基础上,将原先不兼容的接口转换为兼容的接口。
动机(Motivation)
在软件系统中,由于应用环境......
抽象与实现
抽象不应该依赖于实现细节,实现细节应该依赖于抽象。
问题在于如果抽象B由于固有的原因,本身并不稳定,也有可能变化,怎么办?
举例来说
......
对象容器的问题
在面向对象系统中,我们常会遇到一类具有“容器”特征的对象——即它们在充当对象的同时,又是其他对象的容器。
如......
子类复子类,子类何其多
假如我们需要为游戏中开发一种坦克,除了各种不同的型号的坦克外,我们还希望在不同场合中为其增加以下一种或多种功能:比如红外线夜视......
系统的复杂度
假设我们需要开发一个坦克模拟系统用于模拟坦克车在各种作战环境中的行为,其中坦克系统由引擎、控制器、车轮、车身等各子系统构成。
如何使......
面向对象的代价
面向对象很好地解决了系统抽象性的问题,同时在大多数情况下,也不会损及系统的性能。但是,在某些特殊的应用中,由于对象的数量太大,采用面向对......
无处不在的Template Method
如果你只想掌握一种设计模式,那么它就是
-----Template Method!
变与不变
变化——是软件设计的永......
动机(Motivation)
在软件构建过程中,如果某一特定领域的问题比较复杂,类似的模式不断重复出现,如果使用普通的编程方式来实现将面临非常频繁的变化。在这种情......
依赖关系的转化
动机(Motivation)
在软件构建过程中,经常会出现多个对象互相关联交互的情况,对象之间常常会维持一种复杂的引用关系,如果遇到一些需求......
集合内部结构与外部访问
动机(Motivation)
在软件构建过程中,集合对象内部结构常常变化各异。但对于这些集合对象,我们希望在不暴露其内部结构的同时,可......
Builder模式的缘起
假设创建游戏中的一个房屋House设施,该房屋的构建由几个部分组成,且各个部分要富于变化。如果使用最直观的设计方法,每一个房屋部分的变化......
之前写过一篇如果你也是.NET程序员,收到不少留言,各种意见都有,之前的说话方式不够友好,特此向因看过而心生郁闷的人道歉。
问题在于我为什么不停的提面向对象......