精华内容
下载资源
问答
  • 设计模式思想工厂模式

    千次阅读 2012-09-15 11:05:30
    工厂模式 分为 简单工厂模式 工厂方法模式 抽象工厂模式 简单工厂模式什么样的呢? 用户A需要A产品,用户B需要B产品,直接找工厂要就行了。当然需要A产品类,B产品类,然后工厂根据用户需要的类型 ,给予...

    工厂模式 分为

    简单工厂模式

    工厂方法模式

    抽象工厂模式


    简单工厂模式什么样的呢?

    用户A需要A产品,用户B需要B产品,直接找工厂要就行了。当然需要A产品类,B产品类,然后工厂根据用户需要的类型 ,给予构造相应的产品。

    那么factory类中 ,就需要包含构建A类的成员函数,构造B类的成员函数。只要根据用户需求类型返回就行了。


    但是如果用户C需要C 产品怎么办呢,这是 简单工厂模式 就需要修改工厂类,这就违反了开放封闭原则,开放是继承可以,封闭则是对类修改不行。


    怎么办呢?


    为了解决这个问题 出现了工厂方法模式。

    为了不修改类,显然只有采用继承的方法,我可以有很多类来产生多个对象,但不能通过对一个类的修改来产生多个对象


    因此可以定义一个工厂的抽象类。针对不同的产品定义一个对应产品的工厂。

    这样 就把判断定义A产品还是B产品的任务 ,有工厂类,转移到了用户那里。


    但是如果我此时需要的是 A和B产品呢?

    那么就需要抽象工厂模式

    抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口, 而无需指定它们具体的类.



    展开全文
  • 大话设计模式里面 通过姚明到篮球需要翻译来了解战术,而引出了适配器模式。 适配器模式 将一个类的接口 转换成 客户希望的另外一个接口。Adapter模式 使得原本由于接口不兼容 而不能一起工作的那些类可以...

    大话设计模式里面

    通过姚明到篮球需要翻译来了解战术,而引出了适配器模式。


    适配器模式   将一个类的接口 转换成 客户希望的另外一个接口。Adapter模式 使得原本由于接口不兼容 而不能一起工作的那些类可以一起工作。

    在软件开发中,也就是 系统的数据和行为都正确,但接口不符时,我们应该考虑用适配器,目的是使控制范围之外的一个原有对象与某个接口

    匹配。 适配器模式主要应用于希望复用一些现存的类,但是接口又与复用环境要求不一致的情况。


    class Target
    {
       public void Request() 
       {
            System.out.println("普通请求");
       }
    
    }
    class Adaptee
    {
        public void SpecificRequest()
        {
             System.out.println("特殊请求");
        }
    }
    class Adapter extends Target
    {
    	private Adaptee adaptee = new Adaptee();
            public void Request()
            {
                 adaptee.SpecificRequest();
            } 
    }




    展开全文
  • 设计模式思想单例模式

    千次阅读 2012-09-15 11:41:41
    单例模式要求相应的类,只需要构造对象一次就行了。 因此需要将这个类的构造方法改为私有 所有类有构造方法,不编码则系统默认生成空的构造方法,若有显示定义的构造方法,默认的构造方法就会失败。 这样对...

    单例模式要求相应的类,只需要构造对象一次就行了。

    因此需要将这个类的构造方法改为私有

    所有类有构造方法,不编码则系统默认生成空的构造方法,若有显示定义的构造方法,默认的构造方法就会失败。


    这样对外部代码,不能用new来实例化它,但是我们完全可以再写一个public方法,GetInstance(),这个方法的目的就是返回一个类实例。

    而此方法中,去做实例化判断,若没有实例化,就是用private的构造方法new给出这个实例。


    单例模式:客户端不再需要考虑是否需要去实例化的问题,而把责任都给了应该负责的类去处理。

                          保证一个类仅有一个实例,并提供一个访问它的全局访问点。

    一个非多线程的简单框架程序:

    class Singleton
    {
    	private static Singleton instance;
    	
    	private Singleton()
    	{
    	}
    	public static Singletion getInstance()
    	{
    	
    		if(instance == NULL)
    		{
    			instance = new Singleton();
    		}
    		
    		return instance;
    	}
    
    }
    为了多线程安全,同时为了保证不是每个使用单例模式的对象都要进行加锁判断

    需要将加锁添加到,只有实例为空的情况下。代码如下

    class Singleton
    {
    	private static Singleton instance;
    	private Lock lock = new ReentrantLock();   
    	private Singleton()
    	{
    	}
    	public static synchronized Singletion getInstance()
    	{
    	
    		if(instance == NULL)
    		{
    			lock.lock();
    			try{
    				if(instance == NULL)
    				    instance = new Singleton();
    			}finally{
    				lock.unlock;
    			}
    			
    		}
    		
    		return instance;
    	}
    }

    好了,这是很重要的~


    public class Dictionary {
    	/*
    	 * 词典单子实例
    	 */
    	private static final Dictionary singleton;
    	/*
    	 * 词典初始化
    	 */
    	static{
    		singleton = new Dictionary();
    	}
    	
    	/**
    	 * 词典初始化
    	 * 由于IK Analyzer的词典采用Dictionary类的静态方法进行词典初始化
    	 * 只有当Dictionary类被实际调用时,才会开始载入词典,
    	 * 这将延长首次分词操作的时间
    	 * 该方法提供了一个在应用加载阶段就初始化字典的手段
    	 * 用来缩短首次分词时的时延
    	 * @return Dictionary
    	 */
    	public static Dictionary getInstance(){
    		return Dictionary.singleton;
    	}
    }

    以上代码是著名分词软件IK analyzer使用单例模式的方法。

    展开全文
  • MVC设计模式思想简述

    千次阅读 2019-03-22 18:10:53
    设计模式不是一种方法或技术,而是一种思想。 语言无关、平台无关。例如:孙子兵法,三十六计等。 设计模式共23种,常用的4—6种 工厂模式 代理模式 单例模式 适配器模式 MVC设计模式 详见:...
    1. 什么是设计模式
      设计模式是一套被反复使用、多人知晓的,并经过分类编目的代码设计经验的总结。
      设计模式不是一种方法或技术,而是一种思想。
      语言无关、平台无关。例如:孙子兵法,三十六计等。

    2. 设计模式共23种,常用的4—6种
      工厂模式
      代理模式
      单例模式
      适配器模式
      MVC设计模式
      详见:https://blog.csdn.net/ljh0302/article/details/81562415

    3. MVC设计模式
      M—Model:模型层,用于数据封装(实体类)和业务逻辑(业务类或DAO类),主要通过JavaBean来实现。
      V—View:视图层,用于提供与用户交互的界面,动态展示数据,web项目中主要通过JSP来实现。客户端也可通过app方式实现。
      Controller:控制器层,用于处理请求并响应,主要通过Servlet来实现。

    4. MVC核心思想:分离。

    5. MVC的核心是控制器Controller,控制器的作用:
      接收请求参数
      控制业务逻辑(调用业务类)
      控制程序的流向(请求转发和重定向)

    6. 不能一个请求对应一个Servlet
      两种解决方案:
      方案一:

    //以下是伪代码
    Servlet{
    				service(){
    					if(operate.equals("aa")){
    						处理aa请求
    					}else if(operate.equals("bb")){
    						处理bb请求
    					}
    					...
    				}
    				
    			}
    

    方案2:通过DispatchServlet实现“大C+小c模式,类似于层级管理模式”

    //伪代码
    			XxxServlet extends DispatchServlet{
    				处理请求1();
    				处理请求2();
    				。。。
    			}
    

    DispatchServlet

    public class DispatchServlet extends HttpServlet {
    	public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		String flag=request.getParameter("flag");
    		try {
    			Method m=this.getClass().getDeclaredMethod(flag, HttpServletRequest.class,HttpServletResponse.class);//通过反射技术拼出方法
    			m.invoke(this, request,response);//执行方法
    		} catch (Exception e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	}
    
    }
    
    展开全文
  • JavaWEB分层设计思想模式

    千次阅读 2017-07-02 20:20:55
    一、JavaWeb开发模式C/S:客户端 / 服务器 B/S:浏览器 / 服务器 JavaBean: 就是一个普通类(实体bean),包含三样标准:一个无参构造、私有属性、公共的getter和setter方法。 通常需要这么一个作为信息的传递...
  • 文章目录设计思想设计原则 设计思想 天天加班编程,编程到底都做的是什么? 撸代码,加班撸代码,写接口、写类、写方法 用设计模式或做设计的作用是什么?...设计模式思想中最重要的一点:区分变和不变...
  • 设计模式的核心思想

    2018-10-24 14:21:47
    设计模式,最重要的思想就是解耦,通过接口来解耦。
  • JAVAWEB开发模式(MVC 分层思想

    千次阅读 2018-02-07 12:48:11
    MVC开发模式(JSP+Servlet+JavaBean)和分层思想 一、JavaWeb开发模式: C/S:客户端/服务器(胖客户端) B/S:浏览器/服务器(瘦客户端) 二、MVC开发模式: M:Model模型: JavaBean|四种作用域 V:view 视图 ...
  • 设计模式思想摘要

    千次阅读 2015-01-06 16:29:05
    模式是人们根据以往的经验总结出来的,可以重复使用的设计方案。也就是说,模式是一种记录在案的、经过实践检验过的设计经验,可以为在特定设计背景下的类似的问题提供一种通用解决方案。 在软件工程领域,根据开发...
  • 两张思维导图带你了解Spring Spring常用设计模式 Spring设计思想
  • MVC模式的设计思想

    千次阅读 2012-01-05 14:49:49
    MVC模式是一种近年来使用比较广泛的为许多IT厂家和开发者所认可的一种设计模式,它和Web应用程序并没有直接的关系(事实上,它在很多非WEB应用程序中得到了使用),它不仅使得系统层次分明、职责清晰,而且使得系统...
  • java设计模式思想

    千次阅读 2015-07-03 12:02:25
    命令模式: 首先要有命令类就是具体的操作方法,比如攻击某个部队。 然后要有具体的命令接口 Command ,该接口有执行方法execute(). 然后有接受者,该接受者实现命令接口,同时还有命令类的引用。 最后就是请求者...
  •    设计模式 和框架在软件设计中是两个不同的研 究领域 。...虽然它们有所不同,但却共同致力于使人们 的设计可以被重用 ,在思想上存在着统一性的特点 ,因而 设计模式思想可以在框架设计中进行应用。 1 设...
  • 设计模式: 三层结构思想

    千次阅读 2018-09-11 19:02:01
    设计模式/23中设计模式/三层结构思想 在软件项目中,多层体系结构多用于CS系统结构,其基本思想是:物理和逻辑上清晰定义系统的分层;每个分层各司其职封装各自的业务逻辑;分层和分层之间有特定的通信和同步机制...
  • 面向对象思想设计原则 单一职责原则 开闭原则 里氏替换原则 依赖注入原则 接口分离原则 迪米特原则 设计模式的分类 简单工厂模式 简单工厂模式概述 工厂方法模式 工厂方法模式概述 单例设计模式 单例设计模式概述 ...
  • python之PO模式及分层思想

    千次阅读 2020-06-09 14:00:03
    分层思想 PO模式代码编写 以一个登陆页面来举例 分别定义对象层Page_Login类, 用于元素定位; 操作层Operate_Login类, 用于元素操作 业务层Test_login类, 用于测试用例 Base_Page类是基础类, 可以将当前页面需要...
  • 工厂模式的意义: 将实例化对象的代码提取出来,放到一个类中统一管理和维护,达到和主项目的依赖关系的解耦。从而提高项目的扩展和维护性。 三种工厂模式: 简单工厂, 工厂方法, 抽象工厂 (我的博客设计模式专栏中都...
  • 如何通俗理解设计模式及其思想

    万次阅读 多人点赞 2018-07-08 20:36:52
    本文由 玉刚说写作平台 提供写作赞助 原作者:却把清梅嗅 ... 版权声明:本文版权归微信公众号 玉刚...数据结构,算法,设计模式被认为是程序员必备技能的三叉戟,如果说编程语言的语法特性和业务编码能力是【术】,...
  • 敏捷开发的核心思想是:只对当前已经发生过>=2次的同类需求变更,去应用抽象,封装,或设计模式来调整当前架构,以使之能够灵活适应下次同类需求变更(即下次的同类变更我们能以最少的成本和时间去完成)。...
  • 简单工厂模式思想

    千次阅读 2016-04-09 22:46:57
    简单工厂模式解释:   简单工厂模式(Simple Factory Pattern)属于类的创新型模式,又叫静态工厂方法模式(Static Factory...简单工厂模式的UML:   简单工厂模式中包含的角色及其相应的职责如下:  
  • 设计模式: 软件分层架构思想

    千次阅读 2018-09-11 18:58:04
    软件分层架构思想 计算机科学领域任何问题,都可以间接的通过添加一个中间层来解决 分层架构根据职能的差异,划分为多个层次。分层架构设计思想,有很多成功的例子,诸如:OSI七层网络模型,通过七个层次...
  • 第4章 设计模式思想前面一章通过一个简单的需求的变化过程完整地介绍了软件重构的过程,重构所引入的设计思路,设计模式的引入,以及最终解决方案的实现过程。还是按照那位名人的说法:了解设计模式的演化过程远比...
  • nodejs 设计思想杂记一 reactor模式

    千次阅读 2016-07-05 22:12:08
    开始正题,reactor 模式nodejs关于异步的本质,以及隐藏在此模式背后的故事。如单进程单线程的架构、非阻塞IO。最后看下整个nodejs平台。 IO很慢,相比于CPU的处理速度来说,在非密集型计算的应用场景下,IO是一个...
  • “OCP”原则:“开—闭原则”,表示对软件扩展能力开放,对源代码修改关闭。 MVC模式:模型—视图—...MVC思想与观察者模式有一定的相似之处,但并完全相同。MVC模式与观察者模式存在少许差别:观察者模式下观察者和被
  • JS中常用的开发模式思想 单例模式(一个小对象) var obj = { name: 'xiaoming' age: '16', introduce: function() { console.log('my name is' + this.name + ',my age is' + this.age) } } 工厂...
  • MVC(Mdodel-View-Controller)编程模式,把一个Java应用分成三...JSP、JavaBean、Servlet三层架构即MVC编程模式是现在我们学习web应用编程的基础思想,上是经本人总结后做出的,有不对的地方望各位朋友多提意见。
  • 这几天简单了解学习了Spring框架,其中的IOC(DI)与AOP的特性自然是其精髓...首先看一个例子,工程中业务层类(Business)需要调用底层打印类(RealWriter)来完成自己的功能,关系如下: Business类的save
  • JAVA基础再回首(二十六)——面向对象思想设计原则、设计模式、简单工厂模式、工厂方法模式、单例设计模式之饿汉式和懒汉式、Runtime类 版权声明:转载必须注明本文转自程序员杜鹏程的博客:...
  • 菜鸟学设计模式之一思想准备

    千次阅读 2014-12-10 15:36:03
    设计模式,似乎是一种能够帮你快速追到女孩纸的办法,但是,就像花花公子一样,他们能用,但是说不出来,设计模式,我自己理解,无数年来,前人总结出来的经验。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 488,845
精华内容 195,538
关键字:

思想模式图