
面向对象
奔跑吧猴哥
搬砖的。
展开
-
什么是抽象
签于我们(人类)同时处理信息的数量有限,当面对复杂的事物时,我们选择忽略它的非本质的细节,转而处理它的一般化的,理想化的模型。原创 2010-01-14 21:27:00 · 608 阅读 · 0 评论 -
复杂系统的五个属性
1. 层次结构 此处的层次是(Hierarchic),不是(Layer)。系统可以自顶向下,逐层分解。2. 相对主体 从不同层次观察系统,得到的模型粒度是不一样的。3. 分离关注 根据高内聚,低耦合的原则,将系统分解,实现“分而治之”。4. 通用模式 设计时,系统或子系统的结构可采用许多成熟的模式。5. 稳定的中间形态 实现时,可在原创 2010-01-12 22:34:00 · 1364 阅读 · 0 评论 -
面向过程和面向对象的区别
结构化设计历来备受责备的就是需求和设计之间的鸿沟,以前不是很理解这个鸿沟的原因。现在再看,在结构化设计中模块和模块之间的关系,被紧紧局限于信息流,这限制了对模块之间众多关系的表达,也无法体现模块和模块之间其他的众多关系,包含各种各样的结构、行为、依赖、包含(在结构化设计中这种关系隐含在分层中)、继承、关联关系等等。它仅仅解决了模块在封装和信息隐藏方面的问题。再看面向对象设计方法,充分挖掘了“关系”转载 2010-01-10 15:07:00 · 1427 阅读 · 0 评论 -
面向对象最重要的特性
面向对象最重要的特性是封装和多态。 封装使得可以将大问题分而治之,从而提高抽象级别,以应对复杂问题。多态提供了足够的灵活性,以应对变化,也带来了复用的好处。原创 2010-01-10 14:12:00 · 670 阅读 · 0 评论 -
面向对象的目标
Booch说过:我认为面向对象的目标从来都不是复用。相反,对我来说,对象提供了一种处理复杂问题的方式。在面向对象兴起之前,编程以过程为中心,例如结构化设计方法。然而,系统复杂性已经超越了其处理能力,但我们能通过提升抽象级别来构建更大的、更复杂的系统。这才是面向对象的真正胜利!---《Thinking in UML》当然,复用的好处也是很大的,我们权当它是面向对象带来的福利好了!原创 2010-01-10 13:35:00 · 818 阅读 · 0 评论 -
Coupling and Cohesion 2
Coupling and Cohesionextracted from Timothy Budds An Introduction to Object-Oriented Programming[Words in square-brackets are my additions to what Budd wrote. -- S. Bloch] "Coupling" describes原创 2010-03-06 11:43:00 · 1847 阅读 · 0 评论 -
Cohesion and Coupling
Coupling - A measure of how much a module (package, class, method) relies on other modules. It is desirable to reduce coupling, or reduce the amount that a given module relies on the other modules o原创 2010-03-06 11:11:00 · 2406 阅读 · 0 评论 -
面向对象设计中的多种分层方法
面向对象设计中的多种分层方法原创 2010-02-23 17:55:00 · 964 阅读 · 0 评论 -
子系统、包、组件
子系统、包、组件原创 2010-02-23 17:09:00 · 895 阅读 · 0 评论 -
屠龙宝刀
1. Let your workings remain a mystery, Just show people the results. ---《道德经》 2. Next equals forever.原创 2010-01-30 17:40:00 · 580 阅读 · 0 评论 -
抽象的两种方式
如果对象之间的区别在于属性,使用数据成员来区分它们即可。如果它们之间存在行为上的差异,则需要通过派生(虚函数)来实现。原创 2010-01-21 18:21:00 · 912 阅读 · 0 评论 -
synchronized
synchronized(b){...};的意思是定义一个同步块,使用b作为资源锁。b.wait();的意思是临时释放锁,并阻塞当前线程,好让其他使用同一把锁的线程有机会执行,在这里要用同一把锁的就是b线程本身.这个线程在执行到一定地方后用notify()通知wait的线程,锁已经用完,待notify()所在的同步块运行完之后,wait所在的线程就可以继续执行.原创 2014-11-03 12:04:38 · 1609 阅读 · 0 评论