迈向架构设计师之路系列—1-简单对象访问模式 未完待续
假设场景 现在假如公司要你做一个公司内部的薪资管理系统,根据职位的不同,每月的工资自然不一样,经理一月10000加上分红1000,技术人员一月5000加上200的餐补,客服一月3000,现在要是由你来做,你会怎么设计?代码无错便是优已经不适用了 大部分人的写法 这样的写法会带来一个问题?什么问题呢?...
把代码写成艺术,真正体会面向对象编程思想
我们学的是面向对象编程的语言比如:java,c#,我们打着面向对象编程的旗号,却做着面向过程编程的工作 现在我们基本上去一个公司,上去就写代码,老板让我们新增功能,我们就开始写新的方法,做着面向过程编程,每个人都不断地向最初的净地里添自己的代码,最初的代码块就像一个公共厕所一样,每个人都自顾自的在里...
桥接模式(Bridge Pattern)
桥接模式(Bridge Pattern)桥接模式的定义: 桥接模式也叫做桥梁模式,其定义:将抽象和实现解耦,使得两者可以独立地变化。桥接模式的优点:1. 抽象和实现分离。它基本上是为了解决继承的缺点而提出来的设计模式,在该模式下,实现可以不受抽象的约束。2. 良好的扩展能力。无论是增加抽象还是增加实...
中介模式(Mediator Pattern)
中介者模式(Mediator Pattern)中介者模式定义: 中介者模式又叫做调停者模式,其定义为:用一个中介对象封装一系列对象的交互,中介者使各对象不需要显示地相互作用,从而使其耦合松散,而且可以独立的改变它们之间的交互。中介者模式的优点: 中介者模式的优点是减少了类之间的依赖,使原有一对多的依...
观察者模式(Observer Pattern)
观察者模式(Observer Pattern) 观察者模式也叫做发布订阅模式(Publish/Subscribe)其定义:定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新。观察者模式的优点: 1.观察者和被观察者之间是抽象耦合。增加观察者还是被观察...
混合模式(工厂方法模式+策略模式+门面模式)
混合模式(工厂方法模式+策略模式+门面模式) 使用这三种模式设计一个简单的计算器程序:计算器是用于计算数值之间进行数学计算后所获得的值。它包含基本的"加减"功能。以上对以上需求进行分析可以得出计算有两种策略(+与-)。计算策略的实现:/*抽象策略*/public interfac...
门面模式(Facade Pattern)
门面模式(Facade Pattern)门面模式的定义: 门面模式也叫做外观模式,是一种常见的封装模式,它的定义:要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。门面模式提供一个高层次的接口,使子系统更容易使用。门面模式的优点: 1. 减少系统的相互依赖。调用者通过门面角色提供的接口访...
策略模式(Strategy Pattern)
策略模式(Strategy Pattern)策略模式的定义: 策略模式(Strategy Pattern)也叫做政策模式(Policy Pattern)其定义:定义一组算法,将他们封装起来,使它们可以相互替换。策略模式的优点: 1.算法直接可以相互替换。这是因为策略都实现策略接口。 2. 可以避免多...
工厂方法模式(Factory Method Pattern)
工厂方法模式(Factory Method Pattern) 工厂方法模式(Factory Method Pattern)其定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。工厂方法模式的优点 1. 工厂方法模式可以降低模块间的耦合性,使用工厂方法模式...
《设计模式之禅》 - 书摘精要
(P2)BO (Business Object) 业务对象;BL (Business Logic) 业务逻辑;(P13) 如果子类不能完全实现父类的方法,或者父类的某些方法在于子类中已经发生“畸变”,则建议断开父子继承关系,采用依赖、聚合、组合等关系代替继承;(P24) 在 Java 中,只要定义变...
桥接模式-不同的场合说不同的话
桥接模式比喻早上碰到MM,要说早上好,晚上碰到MM,要说晚上好;碰到MM穿了件新衣服,要说你的衣服好漂亮哦,碰到MM新做的发型,要说你的头发好漂亮哦。不要问我“早上碰到MM怎么说晚上好”这种问题,自己用BRIDGE组合一下不就行了。这就是桥接模式了!桥接模式意图桥接模式(Bridge)将抽象部分与它...
C#面向对象模式设计第十七讲:Mediator 中介者模式(行为型模式)
(根据MSDN WebCast相关课程整理) 中介者模式的依赖关系: 多个对象彼此之间存在错综复杂的依赖关系,当一个对象发生变化时,可能会引发多个对象随之发生变化。当采用一个中间对象后,该对象不保存与...
C#面向对象模式设计第十六讲:Interpreter 解释器模式(行为型模式)
(根据MSDN WebCast相关课程整理) 把变化的东西抽象成一种类似于“语言”的东西,让我们的对象来解析它,从而适应变化的需求。 示例:在一个将汉字转化为数字的项目中,随着需要解析的汉字数据越来...


