23中设计模式

您所在的位置:网站首页 手机工程模式有哪几种 23中设计模式

23中设计模式

2023-04-19 05:13| 来源: 网络整理| 查看: 265

标签:调用   私有化   gets   开发人员   软件设计   对象   sys   工厂   nbsp   

(一)设计模式的简介: 1.什么是设计模式? 2.设计模式有何作用? 答:使系统有很好的扩展性;是面向对象中反复出现的问题的解决方案;也是针对特定环境下特定问题的解决方法和方式;为软件重构提供了目标; 3.有哪几种设计模式? 答:有23中;分为三大类,创建型模式、结构型模式、行为型模式 其中创建型模式有5中:工厂模式、单利模式、抽象工厂模式、建造者模式、原型模式 4.设计模式用于哪些方面? 答:设计模式主要用于软件设计,作用:为软件开发人员提供平台;最佳的设计模式; 5.设计模式的原则? 6.了解demo的含义:电脑中的demo指展示电脑图片和音乐的一种程式; (二)工厂模式

相关代码:

定义一个接口:

package zdbDesignPattern.factory; public interface Sharp { //定义一个形状接口,并有三个实现类 //相应的网址:http://www.runoob.com/design-pattern/factory-pattern.html public void draw(); }

定义三个实现类:

package zdbDesignPattern.factory; public class Circle implements Sharp { @Override public void draw() { System.out.println("circle"); } } package zdbDesignPattern.factory; public class Rectangle implements Sharp { @Override public void draw() { System.out.println("Rectangle"); } } package zdbDesignPattern.factory; public class Square implements Sharp { @Override public void draw() { System.out.println("square"); } }

创建一个工厂

package zdbDesignPattern.factory; public class SharpFactory { //使用getSharp方法,可以获取形状类型的对象 public Sharp getSharp(String sharp){ if(sharp==null){ return null; }else if(sharp.equals("SQUARE")){ return new Square(); }else if(sharp.equals("RECTANGLE")){ return new Rectangle(); }else if(sharp.equals("CIRCLE")){ return new Circle(); } return null; } }

使用该工厂,通过传递该类的信息获取该类的对象:

package zdbDesignPattern.factory; public class FactoryPatternDemo { /** * @param args */ public static void main(String[] args){ //创建工厂,利用工厂中的方法得到相应的对象 SharpFactory sharpFactory = new SharpFactory(); //获取square对象,并调用他的方法 Sharp sharp1 = sharpFactory.getSharp("SQUARE"); sharp1.draw(); //获取rectangle对象,并调用他的方法 Sharp sharp2 = sharpFactory.getSharp("RECTANGLE"); sharp2.draw(); //获取circle对象,并调用他的方法 Sharp sharp3 = sharpFactory.getSharp("CIRCLE"); sharp3.draw(); } }

 

(三)单例模式

创建一个类:

package zdbDesignPattern.singleton; public class SingleObject { //创建一个SingleObject对象 private static SingleObject instance = new SingleObject(); //将构造函数私有化,这样该类就不会被私有化 private SingleObject(){}; //获取唯一可用的对象 public static SingleObject getInstace(){ return instance; } public void show(){ System.out.println("北京 我来了!"); } }

从singleObject中获取唯一的对象

package zdbDesignPattern.singleton; public class SinglePatternDemo { /** * 从SingleObject中获取唯一的对象 */ public static void main(String[] args) { //获取唯一的对象,并调用其方法 SingleObject object = SingleObject.getInstace(); object.show(); } }

 

23中设计模式

标签:调用   私有化   gets   开发人员   软件设计   对象   sys   工厂   nbsp   

原文地址:http://www.cnblogs.com/zdb292034/p/6104906.html



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3