软件架构设计原则与模式

上传人:第*** 文档编号:49835370 上传时间:2018-08-03 格式:PPTX 页数:36 大小:1.86MB
返回 下载 相关 举报
软件架构设计原则与模式_第1页
第1页 / 共36页
软件架构设计原则与模式_第2页
第2页 / 共36页
软件架构设计原则与模式_第3页
第3页 / 共36页
软件架构设计原则与模式_第4页
第4页 / 共36页
软件架构设计原则与模式_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《软件架构设计原则与模式》由会员分享,可在线阅读,更多相关《软件架构设计原则与模式(36页珍藏版)》请在金锄头文库上搜索。

1、软件设计原则与模式2015.08.11目录一、软件设计原则二、设计模式介绍三、设计书籍推荐软件设计原则一、单一职责原则定义:一个模块(类、函数)只负责一项职责益处:1.降低模块复杂度,提高可读性、可维护性2.降低变更的频率、变更引起的风险依赖倒置原则定义:高层模块不应依赖底层模块,底层模块也不应依赖高层模块,二者都应该依赖抽象益处:1.提升系统的结构稳定性2.低耦合里氏替换原则定义:所有引用基类的地方必须能透明地使用其子类的对象益处:1.提升结构稳定性2.提高代码可读性、可维护性接口隔离原则定义:客户端不应该依赖它不需要的接口益处:1.提升结构稳定性2.提高代码可读性、可维护性开闭原则定义:当

2、软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化益处:1.提升系统运行稳定性2.减少测试、修改等工作量设计模式介绍二、什么是设计模式软件设计中的成功经验软件设计中的交流语言特定的软件设计上下文中,针对特定问题的解决方案可复用软件开发的基础如何创建对象?1.new xxx()2.简单工厂(Simple Factory)3.工厂方法(Factory Method)new xxx()最简单做法看到了new,就会想到“具体”。当有一群相关的具体类时,通常会写出以下的代码:Pizza oderPizza(String type) Pizza pizza; if(t

3、ype.equals(“cheese”) pizza = new CheesePizza(); else if(type.equals(“greek”) pizza = new GreekPizza(); pizza.prepare(); pizza.bake(); pizza.cut(); 工厂(Factory)Pizza oderPizza(String type) Pizza pizza;pizza.prepare(); pizza.bake(); pizza.cut(); 创建一个部件,来专门创建Pizza。我们称这个部件为工厂简单工厂(Simple Factory)public cl

4、ass SimplePizzaFactory(String type) Pizza pizza; if(type.equals(“cheese”) pizza = new CheesePizza(); else if(type.equals(“greek”) pizza = new GreekPizza(); return pizza; 使用简单工厂后使用简单工厂后简单工厂(Simple Factory)LNPizzaFactory lnFactory = new LNPizzaFactory(); PizzaStore lnStore = new PizzaStore(lnFactory);

5、 lnStore.orderPizza(cheese);SXPizzaFactory lnFactory = new SXPizzaFactory(); PizzaStore sxStore = new PizzaStore(sxFactory); sxStore.orderPizza(cheese);工厂方法(Factory Method)意图:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。适用性 当一个类不知道它所必须创建的对象的类的时候。 当一个类希望由它的子类来指定它所创建的对象的时候。 当类将创建对象的职责委托给多个帮助子类中的某一个,并

6、且你希望将 哪一个帮助子类是代理者这一信息局部化的时候。 工厂方法(Factory Method)工厂方法(Factory Method)工厂方法(Factory Method)创建者类图工厂方法(Factory Method)工厂方法:产品本身Public abstract class Pizza String name; void prepare() void bake() void cut() 工厂方法(Factory Method)创建者类工厂方法(Factory Method)产品类工厂方法(Factory Method)依赖与依赖倒置依赖与依赖倒置依赖倒置原则定义:高层模块不应依赖

7、底层模块,底层模块也不应依赖高层模块,二者都应该依赖抽象依赖与依赖倒置其它常用的模式 单例(Singleton) 适配器(Adapter) 桥接(Bridge) 门面(Facade) 代理(Proxy) 观察者(Observer) 策略(Strategy)两个忠告 设计模式的作用是解决问题,而不是为了模式而模式 我们研究设计模式的目的是实用,不是为了学术研究软件设计书籍三、软件设计书籍推荐敏捷软件开发:原则、模式与实践(Robert C Martin)Head First设计模式设计模式:可复用软件软件设计的基础(GoF)代码大全(第二版)(Steve McConnell)实现领域驱动开发(Vanghn Vernon)企业应用架构模式(Martin Fowler)介绍了软件设计的几个原则:单一职责、依赖倒置、里氏替换、接 口隔离和开闭原则介绍了简单工厂模式、工厂方法模式的使用,列举了一些常用的设 计模式推荐了基本软件设计方面的书籍

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号