设计模式
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 · 399 阅读 · 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 · 670 阅读 · 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 · 563 阅读 · 0 评论 -
spring中的设计模式(面试问题:spring中用了哪些设计模式)
设计模式作为工作学习中的枕边书,却时常处于勤说不用的尴尬境地,也不是我们时常忘记,只是一直没有记忆。今天,螃蟹在IT学习者网站就设计模式的内在价值做一番探讨,并以spring为例进行讲解,只有领略了其设计的思想理念,才能在工作学习中运用到“无形”。Spring作为业界的经典框架,无论是在架构设计方面,还是在代码编写方面,都堪称行内典范。好了,话不多说,开始今天的内容。spr转载 2017-02-19 11:08:25 · 3865 阅读 · 1 评论 -
面试问题:让你画出某种设计模式的类图
创建型模式:1.AbstractFactoty(抽象工厂) 2.Builder(建造者模式) 3.FactoryMethod(工厂方法)4.ProtoType(原型):5.SingleTon(单例) 结构型模式:1.Adapter(适配器) 类适配器: 对象适配器:2.Bridge(桥接)转载 2017-02-21 11:43:32 · 2113 阅读 · 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 · 900 阅读 · 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 · 509 阅读 · 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 · 637 阅读 · 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 · 737 阅读 · 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 · 816 阅读 · 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 · 832 阅读 · 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 · 828 阅读 · 0 评论 -
设计模式之迭代子模式
1类图2python示例'''Created on 2017-2-10@author: admin'''from _overlapped import NULLfrom abc import abstractmethodclass AbstractList: @abstractmethod def add(self,item):pass @abst原创 2017-02-10 09:57:04 · 559 阅读 · 0 评论 -
设计模式之备忘录模式
1类图2scala示例package designclass 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 · 356 阅读 · 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 · 397 阅读 · 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 · 466 阅读 · 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 · 372 阅读 · 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 · 350 阅读 · 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 · 370 阅读 · 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 · 521 阅读 · 0 评论 -
设计模式之适配器模式
1类图2python实现示例'''Created on 2017-2-8@author: admin'''from abc import abstractmethodclass JdbcOperation: @abstractmethod def query(self):pass @abstractmethod def up原创 2017-02-08 09:00:44 · 341 阅读 · 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 · 385 阅读 · 0 评论 -
设计模式之状态模式
1类图2scala示例package designimport scala.util.Randomtrait State{ def changeState(person:Person); def showState():String;}class Person(private var state:State=null){ def execute()={原创 2017-02-09 09:33:51 · 373 阅读 · 0 评论 -
设计模式之模板方法
1类图2scala示例package designtrait BuildCar{ def build()={ println("start to build a car"); buildHead(); buildBody(); buildBottom(); println("finish build a car"); }原创 2017-02-09 09:48:30 · 298 阅读 · 0 评论 -
面试题请说出23中设计模式
最近一次面试面试官提问,请你说出23种设计模式,我一口气说了20种,还有三种硬是想不起来,看来设计模式还没吃透。个人总结,记忆说请先区分类型:构造型,结构型,行为型,而且要清楚每种有多少个,构造型5个,结构型7个,行为型11个。另外面向对象原则我也只说出4个,开闭原则,单一职责原则,依赖倒转原则,迪米特原则;还有一个 里式替换原则没想起来。个人经验中英文一起记效果好,比如Liskov Subs原创 2017-02-28 09:14:51 · 4036 阅读 · 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 · 739 阅读 · 0 评论