随笔分类 -  面向对象分析与设计

摘要:策略模式… Strategy Pattern  在POS系统中,有时需要实行价格优惠, 该如何处理?  对普通客户或新客户报全价  对老客户统一折扣5%  对大客户统一折扣10%  注:课件来自Head-First OOAD课程资料1.1 假设背景  Joe是一个OO程序员,所在的公司正 阅读全文
posted @ 2019-03-19 07:20 otr 阅读(278) 评论(0) 推荐(0)
摘要:GOF设计模式四: 观察者模式Observer  现实中遇到的问题  当有许多不同的客户都对同一数据源感兴趣,对相同的数据有不同的处理方式,该如 何解决?5.1 定义: 观察者模式  观察者模式 Observer  定义对象之间的一对多依赖关系,当一个对象改变状态时,所 有依赖于它的对象都会 阅读全文
posted @ 2019-03-19 07:01 otr 阅读(315) 评论(0) 推荐(0)
摘要:GOF设计模式三: 外观模式 Facade  “现有系统”功能强大、复杂,开发“新系统”需要用到其中一部分,但又要增加一部 分新功能,该怎么办?4.1 Facade Pattern: Key Features Intent You want to simplify how to use an ex 阅读全文
posted @ 2019-03-19 06:38 otr 阅读(280) 评论(0) 推荐(0)
摘要:GOF设计模式二: 适配器模式 Adapter  为中国市场生产的电器,到了美国,需要有一个转接器才能使用墙上的插座,这个转接 器的功能、原理?复习单实例模式  SingleTon的三个关键点  1)私有的:构造函数  2)私有的:成员变量,记录这个单实例  3)公有的getter函数:没 阅读全文
posted @ 2019-03-19 05:14 otr 阅读(315) 评论(0) 推荐(0)
摘要:GOF设计模式一: 单实例模式 SingleTon  整个美国,只有一个“现任美国总统”  比如,在学校,“老师”,有数百个;“校长”,只有一个  系统运行时,如何保证某个类只允许实例化一个对象?2.1 类的多重性  类的多重性 multiplicity  在对软件系统进行逻辑设计时,在某 阅读全文
posted @ 2019-03-18 08:27 otr 阅读(266) 评论(0) 推荐(0)
摘要:关于设计模式…Design Pattern  追求永恒的美1.1 “模式”一词的起源 “每个模式描述了: 一个在我们周围反复出现的问题, 然后是针对这个问题的解决方案。 这样,其他人可以无数次地反复 使用这种解决方案,不需要第二 次再去思考该如何解决这类问题” Christopher Alexan 阅读全文
posted @ 2019-03-18 08:11 otr 阅读(268) 评论(0) 推荐(0)
摘要:其他面向对象设计原则3: 依赖倒置原则DIP  The Dependency Inversion Principle7.1 依赖倒置原则DIP The Dependency Inversion Principle I. 高层模块不应当依赖低层模块 ,两者都依赖抽象 High-level modul 阅读全文
posted @ 2019-03-18 07:40 otr 阅读(208) 评论(0) 推荐(0)
摘要:其他面向对象设计原则2  能用组合的地方,不要用继承 Favor object composition over class inheritance6.1 代码重用的两种方式  能用组合的地方不要用继承 Favor object composition over class inheritanc 阅读全文
posted @ 2019-03-18 07:33 otr 阅读(289) 评论(0) 推荐(0)
摘要:其他面向对象设计原则1: 开-闭原则OCP  Open-Closed Principle (OCP)5.1 设计变坏的前兆 Signs of Rotting Design  僵硬性 Rigidity  难以更改代码 code difficult to change  从管理角度,拒绝任何的变 阅读全文
posted @ 2019-03-18 07:25 otr 阅读(250) 评论(0) 推荐(0)
摘要:GRASP原则九: 隔离变化  Protected Variations  需求一定会变化的!如何做到以系统的局部变化为代价就可以应对这一点?4.1 GRASP rule9: Protected Variations  Name: Protected Variations 隔离变化  Pro 阅读全文
posted @ 2019-03-18 07:18 otr 阅读(727) 评论(0) 推荐(0)
摘要:GRASP原则八: 间接 Indirection  若两个对象直接连接,导致耦合太紧,如何解决?3.1 GRASP rule8: Indirection 间接  Name: Indirection  Problem: 把职责分配到哪里可以避免两个或者多个对象之间的 直接耦合?如何解耦对象以保持 阅读全文
posted @ 2019-03-18 07:15 otr 阅读(397) 评论(0) 推荐(0)
摘要:GRASP原则七: 纯虚构 Pure Fabrication  如果依据信息专家原则获得的解决方案不合适,既不想违反低耦合、高内聚,也不想违 反其他的原则, 该如何把职责分配给对象?  左右为难….2.1 GRASP rule7: Pure Fabrication 纯虚构  Name: Pur 阅读全文
posted @ 2019-03-18 07:13 otr 阅读(1002) 评论(0) 推荐(0)
摘要:GRASP原则六: 多态 Polymorphism  How to handle alternative behaviors based on type 如何处理依据类型不同而有 不同行为的一类需求 ?  比如,开餐馆  苏州人喜欢甜、四川人喜欢麻、湖南人喜欢辣,咋处理 ?1.1 9条GRAS 阅读全文
posted @ 2019-03-18 07:10 otr 阅读(373) 评论(0) 推荐(0)
摘要:GRASP原则五:高内聚 High Cohesion  How to keep objects focused, understandable and manageable, and as a side effect support Low Coupling? 如何使对象功能专注、可理解、可管理, 阅读全文
posted @ 2019-03-18 07:03 otr 阅读(652) 评论(0) 推荐(0)
摘要:4、GRASP原则四:控制器 Controller  What first object beyond the UI layer receives and co-ordinates (controls) a system operation? 在领域层,由谁负责首先接收并协调来自UI层的系统操作? 阅读全文
posted @ 2019-03-18 05:50 otr 阅读(999) 评论(0) 推荐(0)
摘要:3、GRASP原则三: 低耦合 Low Coupling  How to support low dependency, low change impact and increased reuse?  如何保证设计方案支持低的依赖性、低的变化影响度、增加可重用性?3.2 耦合的定义Couplin 阅读全文
posted @ 2019-03-18 05:39 otr 阅读(562) 评论(0) 推荐(0)
摘要:2、GRASP原则二:信息专家 Information Expert  What is a general principle of assigning responsibility to objects? 为一个对象 分配职责的一般原则是什么?  “鸡鸣狗盗” 战国时候,齐国的孟尝君喜欢招纳各 阅读全文
posted @ 2019-03-18 05:20 otr 阅读(715) 评论(0) 推荐(0)
摘要:1、GRASP原则一: 创建者 Creator  Who should be responsible for creating a new instance of some class 由谁来负责创建某个类的新实例(对象)1.1 GRASP 原则  GRASP  General Respons 阅读全文
posted @ 2019-03-18 05:15 otr 阅读(604) 评论(0) 推荐(0)
摘要:6、面向对象设计 … Object-oriented Design  面向对象设计在系统开发中的位置  Contrast the importance of object design skill versus UML notation knowledge6.1 面向对象设计的关注点  面向对 阅读全文
posted @ 2019-03-17 19:56 otr 阅读(271) 评论(0) 推荐(0)
摘要:开始进入设计 … Transition to Design  从需求分析到设计  逻辑架构与子系统 Logical Architecture and sub-system 5.1 向设计过程切换 Transition to Design  需求与领域分析阶段During requirement 阅读全文
posted @ 2019-03-17 19:46 otr 阅读(328) 评论(0) 推荐(0)