设计模式
会飞的程序猿_宇
这个作者很懒,什么都没留下…
展开
-
大话设计模式--策略者模式
在业务需求中,会有一个相同的结果,但会用到不用的算法。比如商场打折促销,结果都是给商品打折,但是打折的方式不一样。算法不一样。所以就要用策略者模式,用类把这些算法封装起来,建立一个简单工厂,然后在用一个context类来与客户端做交流。如:package effective.Strategist;public class CashContext { private CashSuper ca...原创 2018-04-11 07:48:04 · 191 阅读 · 0 评论 -
大话设计模式--组合模式
在需求中需要体现部分与整体的结构时,以及你希望用户可以忽略组合对象与单个对象的不同,统一地使用组合结构中的所有对象时,就可以用了,比如一个树状结构(树状下拉列表),能体现出主体与部分的层次时可以使用。如下实例: public abstract class Company { private String name ; public Company(String name){...原创 2018-05-14 14:47:09 · 262 阅读 · 0 评论 -
大话设计模式--观察者模式
一个情景中,前台给指定员工发送信息,提醒老总回来了,要员工及时关闭无关事情,开始工作。提醒他们老总来了不要玩了。具体代码如下:这是前台发送者的类package effective.Observer;import java.util.ArrayList;import java.util.List;public class Secretary { //同事列表 private L...原创 2018-05-06 00:04:28 · 357 阅读 · 0 评论 -
大话设计模式--适配器模式
适配器模式,在生活的中的运用有很多,比如中国的电器都是220v但是有些国家是110v,为了去那边国家出差,就要带一个适配电源,将110转成220v才能使用。在程序中,相当于与你要完成一个抽象的作用,但是自己本身没有合适的实现类,但是别人有合适的,那就要私有一个对方的类来。代码如下:public class ChinaCha implements Charge { @Override...原创 2018-05-10 22:19:46 · 166 阅读 · 0 评论 -
大话设计模式--单例模式
有时候需要单独创建一个类,创建了之后就用哪个对象。就有了单例模式。 简单的单例模式: package along;public class AlongForm { private static AlongForm along = null; private AlongForm(){} public static AlongForm getInstence(){ i...原创 2018-05-16 23:36:40 · 192 阅读 · 0 评论 -
大话设计模式--外观模式
在一些场合,比如层与层之间,经典的三层结构,数据访问层和业务逻辑层、业务逻辑层和表示层。可建立外观类,但是前提是要了解各个层中子系统的方法和属性,在外观类中调用处理,可以大大降低耦合性。也可以对比较老的系统进行处理,维护一个很老的系统时,也许这个系统的维护非常难以维护和扩展,利用外观模式也是非常合适。...原创 2018-04-25 22:38:12 · 130 阅读 · 0 评论 -
大话设计模式--状态模式
首先看一段代码: public class Work { public static int hour = 0; public static boolean workFinish = false; //写程序的方法 public static void writeProgram(){ if(hour <=12){ System.out.println("当前时间...原创 2018-05-09 20:45:47 · 151 阅读 · 0 评论 -
大话设计模式--建造者模式
在很多业务流程中,某一项需求是需要比如 A与B的类共同组成的,或者是生成很多复杂的算法的时候。比如一个产品类product,需要多个部件组成。 package builder;import java.util.ArrayList;import java.util.List;public class Product { List<String> parts = ...原创 2018-05-02 23:13:19 · 131 阅读 · 0 评论 -
大话设计模式--工厂模式
首先先说简单工厂模式:一个父类拥有一个或者多个子类。父类可以通过多态,实例化多个子类。代码如下package effective.company;public class LeiFeng { public void Sweep(){ System.out.println("扫地。。。"); } public void Wash(){ System.out.println("洗...原创 2018-04-20 20:37:44 · 158 阅读 · 0 评论 -
大话设计模式--模板方法模式
在编程中,有很多的类行为方法相似,甚至是一样,就可以把相同的方法抽象成一个父类模板, 比如一个算法骨架,工作流程,业务模板等。 看实例:public abstract class MobanSuper { public abstract void PrimitiveOperation1(); public abstract void PrimitiveOperation2(...原创 2018-04-24 22:04:28 · 134 阅读 · 0 评论 -
eclipse中导入maven项目:org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.Maven
eclipse中导入maven项目:org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.Maveneclipse: help -> Install New Software -> add ->http://repo1.maven.org/maven2/.m2e/connecto...转载 2018-04-23 20:18:54 · 192 阅读 · 0 评论 -
大话设计模式--原型模式
在一些情景下面,会需要把一些重复的资料如 简历,模板等进行复制使用,所以要是手动就太麻烦了,所以在java代码设计中就有了原型模式,即克隆模式。 每个需要克隆的类都要有一个Clone方法,并且实现Cloneable接口,不然会报CloneNotSupportedException这个异常。 原型模式有两种状态:浅复制与深复制。 浅复制:调用的是原类型的内存地址,其实跟原先...原创 2018-04-21 23:34:59 · 201 阅读 · 0 评论 -
大话设计者模式--开放--封闭原则
程序的设计中,面对需求的增加,不是一味的在一个类中增加代码量,这样会造成耦合度增加,所以只要增加同类需求的新代码就行,通过继承、多态添加类或者其他代码。开放封闭的原则就是要让代码可维护、可复用、灵活性好。...原创 2018-04-17 22:46:00 · 136 阅读 · 0 评论 -
大话设计模式--单一职责原则
单一职责原则就是要将一个类中的功能分离,比如手机一个类,手机的拍照,摄像,音乐播放等等的功能,将它们抽象成一个个类,每一个类有单一的功能。然后手机类只要封装它们的引用就行。这样就解了耦合度,让各自功能的代码实现可复用,高灵活,易维护等特点。...原创 2018-04-11 08:07:05 · 173 阅读 · 0 评论 -
设计模式--迭代器模式
迭代器模式,就是要不暴露类的内部信息,可以规定自己想要的遍历模式去遍历迭代器,有钱在对数据库的操作中,所以在各个高级语言中。迭代器都被封装的自己的类来使用。比如java 的 foreach,.net的多for in。 代码如下:迭代器的抽象类:public abstract class Iterator { protected abstract Object First(); p...原创 2018-05-15 22:28:05 · 162 阅读 · 0 评论