
设计模式
hxpjava1
毕业于武汉理工大学计算机系,12年开发架构经验,擅长java,k8s
展开
-
设计模式之工厂方法
1示例类图 2c++实现 /* * factoryMethod.cpp * * Created on: 2017年2月6日 * Author: admin */ #include "iostream" #include "string" using namespace std; class Fruit{ public: virtual string getName(原创 2017-02-06 16:46:26 · 420 阅读 · 0 评论 -
设计模式之调停者模式
类图 java代码: public class Test { public static void main(String[] args) { MarriageMediator mediator=new SomeMarriageMediator(); Person mark=new Man("Mark",10,mediator); Person jane=new Woman原创 2017-02-28 11:25:17 · 710 阅读 · 0 评论 -
设计模式之享元模式
1类图 2java示例 public class Test { public static void main(String[] args) { Factory factory=new StudentFactory(); Person p1=factory.getPerson("010101"); if(p1.getName()==null||p1.ge原创 2017-03-01 13:18:49 · 579 阅读 · 0 评论 -
spring中的设计模式(面试问题:spring中用了哪些设计模式)
设计模式作为工作学习中的枕边书,却时常处于勤说不用的尴尬境地,也不是我们时常忘记,只是一直没有记忆。 今天,螃蟹在IT学习者网站就设计模式的内在价值做一番探讨,并以spring为例进行讲解,只有领略了其设计的思想理念,才能在工作学习中运用到“无形”。 Spring作为业界的经典框架,无论是在架构设计方面,还是在代码编写方面,都堪称行内典范。好了,话不多说,开始今天的内容。 spr转载 2017-02-19 11:08:25 · 3892 阅读 · 1 评论 -
面试问题:让你画出某种设计模式的类图
创建型模式: 1.AbstractFactoty(抽象工厂) 2.Builder(建造者模式) 3.FactoryMethod(工厂方法) 4.ProtoType(原型): 5.SingleTon(单例) 结构型模式: 1.Adapter(适配器) 类适配器: 对象适配器: 2.Bridge(桥接)转载 2017-02-21 11:43:32 · 2135 阅读 · 0 评论 -
设计模式之桥接模式
1类图: 2java示例: public class Test { public static void main(String[] args) { Engine t0001=new EngineT0001(); Engine t0300=new EngineT0300(); Vehicle tractor=new Tractor(t0001); Vehicl原创 2017-03-02 08:57:39 · 919 阅读 · 0 评论 -
设计模式之访问者模式
1类图 2java示例 public class Test { public static void main(String[] args) { Cleaner mark=new CleanerMark("Mark"); Cleaner jane=new CleanerJane("Jane"); Cleaner director=new CleanerDirect原创 2017-03-01 09:03:21 · 533 阅读 · 0 评论 -
设计模式之外观模式
1类图 2java示例 public class Test { public static void main(String[] args) { Facade facade=new Facade(); facade.methodA(); System.out.println("-------------------"); facade.methodB();原创 2017-03-03 08:53:26 · 658 阅读 · 0 评论 -
设计模式之策略模式
1类图 2java示例 public class Test { public static void main(String[] args) { Strategy s1=new DiscountStrategy(); Strategy s2=new SubtractStrategy(); Context context=new Context(); context.原创 2017-03-03 21:39:01 · 753 阅读 · 0 评论 -
设计模式之命令模式
1类图 2java示例 public class Test { public static void main(String[] args) { Seller riceSeller=new RiceSeller(); Seller meatSeller=new MeatSeller(); OrderMenuItem riceOrder=new OrderRice();原创 2017-03-04 18:47:30 · 832 阅读 · 0 评论 -
设计模式之责任链
1类图 2java示例 public class Test { public static void main(String[] args) { Processor word=new WordProcessor(); Processor syntax=new SyntaxProcessor(); Processor compile=new CompileProcesso原创 2017-03-04 19:43:48 · 851 阅读 · 0 评论 -
设计模式之解释器模式
1类图 2java示例 public class Test { public static void main(String[] args) { Context context=new Context(); context.setSource("I am mark ."); Translator comma=new CommaTranslator();原创 2017-03-04 20:39:42 · 853 阅读 · 0 评论 -
设计模式之迭代子模式
1类图 2python示例 ''' Created on 2017-2-10 @author: admin ''' from _overlapped import NULL from abc import abstractmethod class AbstractList: @abstractmethod def add(self,item):pass @abst原创 2017-02-10 09:57:04 · 590 阅读 · 0 评论 -
设计模式之备忘录模式
1类图 2scala示例 package design class Person{ var age:Int=_; var name:String=_; def this(age:Int,name:String){ this(); this.age=age; this.name=name; } def createMemento(t原创 2017-02-10 09:12:04 · 379 阅读 · 0 评论 -
设计模式之抽象工厂模式
1类图 2c++例子 /* * abstractFactory.cpp * * Created on: 2017年2月6日 * Author: admin */ #include "iostream" #include "string" using namespace std; class Fruit{ public: virtual string get原创 2017-02-06 17:23:08 · 417 阅读 · 0 评论 -
设计模式之构造模式
1类图 2c++实现 /* * builder.cpp * * Created on: 2017年2月7日 * Author: admin */ #include #include using namespace std; class Car{ public: const string& getBody() const { return b原创 2017-02-07 09:17:53 · 495 阅读 · 0 评论 -
设计模式之原型模式
1类图 2c++示例 /* * prototype.cpp * * Created on: 2017年2月7日 * Author: admin */ #include #include using namespace std; class Fruit{ public: virtual Fruit* clone()=0; virtual void pri原创 2017-02-07 10:27:42 · 399 阅读 · 0 评论 -
设计模式之单例模式
1类图 2c++实现 /* * singleton1.cpp * * Created on: 2017年2月7日 * Author: admin 单利模式懒汉式,没有考虑多线程 */ #include #include using namespace std; class FoodFactory{ private: static FoodFactory原创 2017-02-07 10:54:43 · 371 阅读 · 0 评论 -
设计模式之装饰模式
1类图 2c++示例 /* * decorator.cpp * * Created on: 2017年2月7日 * Author: admin */ #include #include using namespace std; class AbstractCar{ public: virtual void canDo()=0; virtual ~Abstr原创 2017-02-07 11:18:35 · 387 阅读 · 0 评论 -
设计模式之代理模式
1类图 2c++示例 /* * proxy.cpp * * Created on: 2017年2月7日 * Author: admin */ #include #include using namespace std; class AbstractObj{ public: virtual void doOperation()=0; virtua原创 2017-02-07 11:32:00 · 544 阅读 · 0 评论 -
设计模式之适配器模式
1类图 2python实现示例 ''' Created on 2017-2-8 @author: admin ''' from abc import abstractmethod class JdbcOperation: @abstractmethod def query(self):pass @abstractmethod def up原创 2017-02-08 09:00:44 · 365 阅读 · 0 评论 -
设计模式之组合模式
1类图 2python示例 ''' Created on 2017-2-8 @author: admin ''' from abc import ABCMeta,abstractmethod; from builtins import isinstance; class Component: __mataclass__=ABCMeta @abstra原创 2017-02-08 10:46:42 · 410 阅读 · 0 评论 -
设计模式之状态模式
1类图 2scala示例 package design import scala.util.Random trait State{ def changeState(person:Person); def showState():String; } class Person(private var state:State=null){ def execute()={原创 2017-02-09 09:33:51 · 390 阅读 · 0 评论 -
设计模式之模板方法
1类图 2scala示例 package design trait BuildCar{ def build()={ println("start to build a car"); buildHead(); buildBody(); buildBottom(); println("finish build a car"); }原创 2017-02-09 09:48:30 · 317 阅读 · 0 评论 -
面试题请说出23中设计模式
最近一次面试面试官提问,请你说出23种设计模式,我一口气说了20种,还有三种硬是想不起来,看来设计模式还没吃透。个人总结,记忆说请先区分类型:构造型,结构型,行为型,而且要清楚每种有多少个,构造型5个,结构型7个,行为型11个。另外面向对象原则我也只说出4个,开闭原则,单一职责原则,依赖倒转原则,迪米特原则;还有一个 里式替换原则没想起来。个人经验中英文一起记效果好,比如Liskov Subs原创 2017-02-28 09:14:51 · 4067 阅读 · 1 评论 -
设计模式之观察者模式
1类图 2java示例 public class Test { public static void main(String[] args) { Plane plane=new Plane("J20 a001"); Observer observer=new Radar(); plane.addObserver(observer); plane.setDis原创 2017-03-04 21:03:58 · 755 阅读 · 0 评论