自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Yang

一壶浊酒,水调歌头

  • 博客(7)
  • 收藏
  • 关注

原创 设计模式六大原则综述

1. 开闭原则(Open Close Principle)开闭原则的意思是:对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。简言之,是为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们会提到这点。2. 里氏代换原则(Liskov Substitution Principle)里氏代换原则是面向对象设计

2017-11-22 11:04:01 414

原创 设计模式最简Demo:工厂方法模式[Factory Method Pattern]

1. 程序需求在简单工厂模式中,我们实现了一个简单的计算器,客户端在不知道运算类的情况下只需要传入一个简单的运算符就可以获取相应的操作进行运算,但是,如果我们想增加一个运算法则,比如乘方,我们考虑一下程序中需要修改的地方,首先需要扩展Operation类,增加一个乘方运算的子类,同时需要修改OperationFactory类,修改分支语句,添加case分支,这显然不满足关闭-开放原则,我们对扩展开放

2017-11-22 10:51:57 578

原创 设计模式最简Demo:代理模式[Proxy Pattern]

1. 程序需求在现实生活中,我们经常遇到这样的场景,我们喜欢某个女生,但是却没有机会认识,为了表达爱意,通常找一个好哥们儿去代替我们送一些小礼物,表达爱意。其实这就是一个代理模式的案例。2. UML3. Java实现GiveGiftpackage proxy_pattern.girl;public interface GiveGift { void giveFlower(); voi

2017-11-22 00:32:23 556

原创 设计模式最简Demo:装饰者模式[Decorator Pattern]

1. 程序说明新开了一家咖啡店,可以往咖啡里面加各种配料,牛奶、糖、奶泡等。按照面向对象的设计中,我们最先想到的是设计一个简单咖啡类,然后分别设计加牛奶的咖啡,加糖的咖啡,加奶泡的咖啡去继承简单咖啡类,但是当有一天,配料越来越多,而且用户需求越来越千奇百怪,比如加糖的同时又要加奶泡……那么子类会灾难性地增长,装饰者模式为解决这个而生,提供了比继承更好的解决方法。2. UML3. Java实现Cof

2017-11-21 00:29:50 540

原创 设计模式最简Demo:策略模式[Strategy Pattern]

1. 程序需求在软件开发中也常常遇到类似的情况,实现某一个功能有多种算法或者策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能。在旅行系统开发中,我们需要为旅行者准备自行车、开车、火车等不同的策略,旅行者可以根据自身情况选择不同策略。2. UML3. Java 实现Transportationpackage strategy_pattern.travel;public abstr

2017-11-20 09:37:31 399

原创 设计模式最简Demo:策略模式 + 简单工厂模式

1. 程序需求商场收费系统,需要支持正常收费,打折收费,现金返利,积分等计费方式。2. 简单工厂模式2.1 UML2.2 Java实现Cashpackage simple_factory_pattern.market;public abstract class Cash { protected double originCash; //原价 public abstract doubl

2017-11-19 19:00:12 664

原创 设计模式最简Demo:简单工厂模式[Simple Factory Pattern]

1. 程序需求实现一个计算器程序,要求能实现加减乘除等常用操作,且扩展性强。2. UML图3. Java实现Operationpackage simple_factory_pattern;public abstract class Operation { protected double numberA; protected double numberB; public abs

2017-11-19 16:41:49 380

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除