自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

就爱吃桃子的博客

学习过程难免犯错

  • 博客(25)
  • 收藏
  • 关注

原创 设计模式-策略模式

为了实现一些特殊的显示效果,某公司欲开发一款手机数码照片处理软件,在该软件中为照片(Photograph)提供了多种滤镜(Filter)效果,例如黑白滤镜(BlackWhiteFilter)、单色滤镜(MonochromaticFilter)、怀旧滤镜(NostalgicFilter)等,不同的滤镜通过不同的算法对照片进行美化,如下图所示。该软件可以灵活地增加一些新的滤镜效果。选择一种合适的设计模...

2018-05-07 11:03:57 885

原创 设计模式-模板方法模式

 对数据库的操作一般包括连接、打开、使用、关闭等步骤,在数据库操作模板类中我们定义了connDB()、openDB()、useDB()、closeDB()四个方法分别对应这四个步骤。对于不同类型的数据库(如SQL Server和Oracle),其操作步骤都一致,只是连接数据库connDB()方法有所区别,试使用模板方法模式对其进行设计.类图:实现代码:数据库抽象类DBAbstractClass  ...

2018-05-07 11:03:47 1196

原创 设计模式-策略模式与适配器模式

某移动支付系统(PaySystem)在实现账户资金转入和转出时需进行身份验证,该系统为用户提供了多种身份验证方式,例如密码验证(PasswordValidator)、指纹验证(FingerprintValidator)等,将来可能还会增加新的验证方式。该系统在实现指纹验证时需要调用手机自带的指纹识别模块中FingerprintReader类的process()方法来进行指纹识别和处理。选择两种合适...

2018-04-24 09:41:37 3681 2

原创 设计模式-观察者模式+适配器模式

某公司欲开发一套机房监控系统,如果机房达到某一指定温度,温度传感器(Thermosensor)将自动传递信号给各种响应设备,例如警示灯(caution light)将闪烁(flicker())、报警器(Annunciator)将发出警报(alarm())、安全逃生门(SecurityDoor)将自动开启(open())、隔热门(insulated door)将自动关闭(close())等,每一种响...

2018-04-24 09:41:28 2326

原创 设计模式-观察者模式

某实时在线股票软件需要提供如下功能:当股票购买者所购买的某支股票价格变化幅度达到5%时,系统将自动发送通知(包括新价格)给购买该股票的所有股民。试使用观察者模式设计并实现该系统,要求绘制相应的类图并编程模拟实现。类图:实现代码:抽象目标类Subject :package ObserverPattern; import java.util.ArrayList; public abstract cla...

2018-04-24 09:41:17 4442

原创 设计模式-命令模式

某软件公司欲开发一个基于Windows平台的公告板系统。系统提供一个主菜单(Menu),在主菜单中包含了一些菜单项(MenuItem),可以通过Menu类的addMenuItem()方法增加菜单项。菜单项的主要方法是click(),每一个菜单项包含一个抽象命令类,具体命令类包括OpenCommand(打开命令),CreateCommand(新建命令),EditCommand(编辑命令)等,命令类具...

2018-04-24 09:41:04 2287 2

原创 设计模式-命令模式

房间中的开关是命令模式的一个实例,现用命令模式来模拟开关的功能,可控制对象包括电灯和电风扇,绘制相应的类图并编程模拟实现。类图:实现代码:抽象命令类Command :package CommandPattern; public abstract class  Command {    public abstract void excute();} 具体命令类LightCommand :packag...

2018-04-24 09:40:48 2801

原创 设计模式-代理模式

 应用软件所提供的桌面快捷方式是快速启动应用程序的代理,桌面快捷方式一般使用一张小图片来表示(Icon),通过调用快捷方式的run()方法将调用应用软件(Application)的run()方法。使用代理模式模拟该过程,绘制类图并编程模拟实现。类图:实现代码:抽象主题类Application :package ProxyPattern2; public abstract class Applica...

2018-04-24 09:40:23 1414

原创 设计模式-代理模式

在某应用软件中需要记录业务方法的调用日志,在不修改现有业务类的基础上为每一个类提供一个日志记录代理类,在代理类中输出日志,例如在业务方法method()调用之前输出“方法method()被调用,调用时间为2017-11-5 10:10:10”,调用之后如果没有抛异常则输出“方法method()调用成功”,否则输出“方法method()调用失败”。在代理类中调用真实业务类的业务方法,使用代理模式设计...

2018-04-24 09:40:12 2433

原创 设计模式-外观模式

 某软件公司为新开发的智能手机控制与管理软件提供了一键备份功能,通过该功能可以将原本存储在手机中的通信录、短信、照片、歌曲等资料一次性全部拷贝到移动存储介质(例如MMC卡或SD卡)中。在实现过程中需要与多个已有的类进行交互,例如通讯录管理类、短信管理类等,为了降低系统的耦合度,试使用来设计并编程模拟实现该一键备份功能。 类图:实现代码:外观类BackupFacade :package Facade...

2018-04-24 09:34:58 2138

原创 设计模式-代理模式

某信息系统需要提供一个数据处理和报表显示模块,该模块可以读取不同类型的文件中的数据并将数据转换成XML格式,然后对数据进行统计分析,最后以报表方式来显示数据。由于该过程需要涉及到多个类,试使用外观模式设计该数据处理和报表显示模块。考虑到有些文件本身已经是XML格式,无须进行格式转换,为了让系统具有更好的扩展性,在系统设计中引入抽象外观类。实现代码:类图:实现代码:抽象外观类AbstractFaca...

2018-04-24 09:34:42 2310

原创 设计模式-组合模式

某教育机构组织结构如下图所示:在该教育机构的OA系统中可以给各级办公室下发公文,试采用组合模式设计该机构的组织结构,绘制相应的类图并编程模拟实现,在客户端代码中模拟下发公文。 类图:实现代码:抽象构件类OrganizationComponent :package CompositePattern2; public class OrganizationComponent {     private ...

2018-04-23 20:45:35 7097

原创 设计模式-组合模式

某移动社交软件欲增加一个群组(Group)功能。通过设置,用户可以将自己的动态信息,包括最新动态、新上传的视频以及分享的链接等,分享给某个特定的成员(Member),也可以分享给某个群组中的所有成员;用户可以将成员添加至某个指定的群组;此外,还允许用户在一个群组中添加子群组,以便更加灵活地实现面向特定人群的信息共享。选择一种合适的设计模式来设计该群组功能,要求给出该模式的名称及定义,结合场景绘制相...

2018-04-23 20:42:15 4392

原创 设计模式-桥接模式

空客(Airbus)、波音(Boeing)和麦道(McDonnell-Douglas)都是飞机制造商,它们都生产载客飞机(Passenger Plane)和载货飞机(Cargo Plane)。现需要设计一个系统,描述这些飞机制造商以及它们所制造的飞机种类。绘制类图并编程模拟实现。类图:实现代码:抽象类Productor:package BridgePattern; public abstract ...

2018-04-23 20:39:41 1788

原创 设计模式-适配器模式

现有一个接口DataOperation定义了排序方法sort(int[]) 和查找方法search(int[], int),已知类QuickSort的quickSort(int[])方法实现了快速排序算法,类BinarySearch 的binarySearch(int[], int)方法实现了二分查找算法。试使用适配器模式设计一个系统,在不修改源代码的情况下将类QuickSort和类BinaryS...

2018-04-23 20:37:47 4649

原创 设计模式-单例模式

使用单例模式设计一个多文档窗口(注:在Java AWT/Swing开发中可使用JDesktopPane和JInternalFrame来实现),要求在主窗体中某个内部子窗体只能实例化一次,即只能弹出一个相同的子窗体,如下图所示,编程实现该功能类图:实现代码:客户端类Main:public class Main {     public static void main(String[] args) ...

2018-04-23 20:35:32 2235

原创 设计模式-单例模式

使用单例模式的思想实现多例模式(Multiton),确保系统中某个类的对象只能存在有限个,例如两个或三个,设计并编写代码实现一个多例类。实现代码:单例类Multiton :package Singleton; import java.util.*; public class Multiton {    //两个或者三个    private static ArrayList<Multiton...

2018-04-23 20:33:23 6310

原创 设计模式-抽象工厂模式

某系统为了改进数据库操作的性能,用户可以自定义数据库连接对象Connection和语句对象Statement,针对不同类型的数据库提供不同的连接对象和语句对象,例如提供Oracle或MySQL专用连接类和语句类,而且用户可以通过配置文件等方式根据实际需要动态更换系统数据库。使用抽象工厂模式设计该系统,要求绘制对应的类图并使用Java语言编程模拟实现。类图:实现代码:抽象工厂databaseFact...

2018-04-23 20:31:21 4152

原创 设计模式-工厂方法模式

 现需要设计一个程序来读取多种不同类型的图片格式,针对每一种图片格式都设计一个图片读取器(ImageReader),如GIF图片读取器(GifReader)用于读取GIF格式的图片、JPG图片读取器(JpgReader)用于读取JPG格式的图片。图片读取器对象通过图片读取器工厂ImageReaderFactory来创建,ImageReaderFactory是一个抽象类,用于定义创建图片读取器的工厂...

2018-04-23 20:29:08 5481 1

原创 设计模式-简单工厂模式

在某RPG游戏中使用简单工厂模式创建游戏角色,该游戏可根据用户所选择的参数来创建不同的角色(Role),例如参数为“angel”时创建一个天使角色,参数为“hero”时创建一个英雄角色,参数为“witch”时创建一个女巫角色。绘制类图并使用Java语言编程模拟实现。 类图:Role类:public abstract class Role {    public  abstract void dis...

2018-04-23 20:26:50 277

原创 设计模式-工厂方法模式

在某图形库API中提供了多种矢量图模板,用户可以基于这些矢量图创建不同的显示图形,图形库设计人员设计的初始类图如下所示:在该图形库中,每个图形类(如Circle、Triangle等)的init()方法用于初始化所创建的图形, setColor()方法用于给图形设置边框颜色,fill()方法用于给图形设置填充颜色,setSize()方法用于设置图形的大小,display()方法用于显示图形。客户类(...

2018-04-23 20:21:54 3667

原创 linux c程序

编写一个Linux C程序,打开一个文本文件,在当前目录下保存一个文件的副本,然后把此文件中的所有小写字母转换为大写字母,其他字符不变(比如原来内容为“hello 123”,则转换为“HELLO 123”)。代码如下:#include <ctype.h>#include <stdio.h>#include <stdlib.h>#define INPUT_F...

2018-04-18 10:17:31 182

原创 linux 常用命令及可选参数

Clear:用于清除当前屏幕终端上的任何信息Pwd:以绝对路径的方式显示用户当前工作目录。命令将当前目录的全路径名称(从根目录)写入标准输出。全部目录使用/分隔。第一个/表示根目录,最后一个目录是当前目录。执行pwd命令可立刻得知您目前所在的工作目录的绝对路径名称。选项:--help:显示帮助信息;--version:显示版本信息。Mkdir:用来创建目录。该命令创建由dirname命名的目录。如...

2018-04-18 10:13:39 1081

原创 给Linux添加一块磁盘,设置文件系统格式为ext3,并挂载到/mnt下,最后往这块磁盘中拷贝/etc下得所有文件

比如我们有一块新硬盘/dev/sda操作步骤:#mkfs.ext3  /dev/sda          提示按'y'#mkdir  /mnt                       建立挂载目录#mount  /dev/sda  /mnt      把/dev/sda这个盘挂载到/mnt目录下#vim  /etc/fstab        系统启动时自动挂载/dev/sda,编辑/etc/f...

2018-04-17 22:29:27 4590

原创 ssm报错

错误如下:12-Apr-2018 23:50:10.570 信息 [RMI TCP Connection(6)-127.0.0.1] org.apache.catalina.core.ApplicationContext.log No Spring WebApplicationInitializer types detected on classpath12-Apr-2018 23:50:10....

2018-04-13 00:03:52 429

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除