一、举个栗子 用Java实现一下吧 可以看出有很多重复的代码,那么直接把重复的代码抽取出来1.版本1.0 2.版本2.0再仔细看看,还是有重复的方法 浸泡(steep)和冲泡...
一、举个栗子 用Java实现一下吧 可以看出有很多重复的代码,那么直接把重复的代码抽取出来1.版本1.0 2.版本2.0再仔细看看,还是有重复的方法 浸泡(steep)和冲泡...
一、问题的产生如果我们想设计一个遥控器 而需要遥控的电器,各自都有不同的类 二、简化问题餐厅是如何工作的呢? 细化一下 把餐厅的工作过程用代码表现一下吧1、实现命令接口首先,...
一、树形结构树形结构在软件中随处可见,例如操作系统中的目录结构、应用软件中的菜单、办公系统中的公司组织结构等等。 可以看出,在上图中包含两种不同的元素:文件(蓝色节点)和文件...
一、代理模式和装饰者模式还记得装饰者模式那个开咖啡店的例子吗?装饰者类图: 同样开咖啡店,使用代理模式,那么类图是这样的 代理模式: //代理的客户 装饰者模式: //装饰器...
一、什么是代理一个很好很友善的服务,但是不希望所以需要这个服务的应用都去调用,就需要一个代理来控制和管理访问。例如:Iphone手机发布新款了,但是最先只在美国发售,苹果商店...
一、举个栗子小明每天回家都会先打开灯,空气净化器,电热水器烧上水,放上音乐,如果天气热的话,再打开空调。写成代码 出门的时候,还得反向操作把它们都关掉。如果升级了系统,还得重...
一、什么是适配器如果你的电器是一个两项的插头,而电源插座是三项的,那就需要一个交流电适配器。这个适配器位于两项插头和三项插座的中间,他的工作是将三项插座转成两项插座,好让两项...
一、问题的提出在应用程序中,有些对象比较复杂,其创建过程过于复杂,而且我们又需要频繁的利用该对象,如果这个时候我们按照常规思维new该对象,那么务必会带来非常多的麻烦,这个时...
一、问题的产生开一家咖啡店,售卖各式咖啡,1、咖啡店1.0版 如果仅仅是售卖这4种咖啡,这个订单系统也能满足要求,但是,如果想加入各种调料,如:奶(Milk),摩卡(Moch...
一、问题的提出举例:WeatherData是气象站获取数据的对象,通过他获取到数据后更新到不同的布告板上。WeatherData有三个方法:getTemperature(),...
一、简单工厂举个栗子:开个披萨店: 披萨店不能只有一种披萨,要做各种类型的披萨怎么办呢? 披萨店扩张了,制作的披萨种类更多了,有些披萨卖得不好,不做了,这怎么做呢?只能在上面...
一、抽象类一个类含有抽象方法的类称为抽象类。那什么是抽象方法呢?抽象方法是一种特殊的方法:它只有声明,而没有具体的实现。抽象方法的声明格式为:abstract void fu...
一、密码学的起源密码学的出现主要是因为战争,有了战争,就有了密码学的应用环境。在战争中,对阵双方要保护自己的通信安全并窃取、破译对方的情报,就出现了密码学。为了保证通信的安全...
一、设计模式的分类设计模式可以概括为23种,按照特点可以将其分为三大类型:创建型、结构型、行为型。1、创建型创建型模式是用来创建对象的模式,抽象了实例化的过程,帮助一个系统独...
一、问题的产生举例:鸭子模型鸭子模型中会出现各种鸭子,会游泳,会呱呱叫,于是设计一个鸭子超类(Duck),并让各种鸭子继承此超类一、问题的产生举例:鸭子模型鸭子模型中会出现各...
一、外部排序之前介绍的所有排序算法都是内部排序的算法,也就是说需要将所有数据装入内存再进行排序。但实际上会出现需要排序的数据太多无法全部装入内存的情况,这种情况下排序就是外部...
一、归并排序归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成...
一、时间复杂度1、定义一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n)/f(n)的极...