- 博客(14)
- 资源 (4)
- 收藏
- 关注
原创 设计模式5#装饰模式
装饰模式在不对原有对象类进行修改的基础上,如何给一个或多个已有的类对象提供增强额外的功能。三种方法添加功能:1继承 2封装:游离体系之外 3:装饰:加入了体系 PS:装饰食指就是封装的变种,封装一个该体系的父类。下面是三种方法的对比:装饰模式思想:封装父类对象,自己要加强的自己做,自己不做的让父类做。例子:写一个MyBufferedReader类,使它能够对字符
2016-04-03 23:47:26 330
原创 设计模式4#值对象
值对象应用场景:在Java开发时,需要来回交换大量的数据,比如要为方法传入参数,也要获取方法的返回值。基本的编写步骤:第1步:写一个类,实现可序列化(如果以后数据是往数据库里存的,那么可以不序列化,节省资源)第2步:私有化所有属性,保持一个默认构造方法(public无参)第3步:为每个属性提供get()、set()方法(如果是boolean型变量,最好把get改成is)
2016-04-03 22:22:07 355
原创 设计模式3#工厂
工厂场景和问题:Java程序开发讲究面向接口编程,隐藏具体的实现类,可是如何得到接口呢?工厂类的命名规范:***Factory单例工厂方法的命名规范:getInstance()工厂的本质是“选择实现”铁三角:1接口:封装实现类中的方法 2实现类:真正的实现代码 3工厂类:选择实现工厂、接口和实现类之间的技术边界:工厂只负责选择实现,实
2016-04-03 22:12:28 454
原创 设计模式2#多例
单例变形--缓存在单例的使用和多例(单例+缓存+控制实例个数)“单例+缓存“技术 与 “单例+缓存+控制实例个数”缓存在编程中使用很频繁,有着非常重要的作用,它能够帮助程序实现以空间换取时间,通常被设计成整个应用程序所共享的一个空间,现要求实现一个用缓存存放单例对象的类。说明:该缓存中可以存放多个该类对象,每个对象以一个key值标识,key值相同时所访问的是同一个单例对象。
2016-04-03 21:52:13 489
原创 设计模式1#单例
单例解决:保证了一个类在内存中只能有一个对象。思路:1、如果其他程序能够随意用new创建该类对象,那么就无法控制个数。因此,不让其他程序用new创建该类的对象。2、既然不让其他程序new该类对象,那么该类在自己内部就要创建一个对象,否则该类就永远无法创建对象了。3、该类将创建的对象对外(整个系统)提供,让其他程序获取并使用。步骤:1、将该类中的构造函数私有化。2、在
2016-04-03 21:41:43 533
原创 VE设计#9 改进版 数据层接口版
在数据层中我们只用接口,而功能是在它的实现类中实现的。因此我们改了数据层,对应调用数据层的逻辑层我们也要改过。改进后的数据层是一个接口:如代码所示:package cn.hncu.dao;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStrea
2016-04-01 20:14:20 589
原创 VE设计#8数据层
数据层用来存储数据。这里采用对象读写,要注意的是数据层只跟逻辑层有关与表现层无关,还有,对象流的读写不能用avaliable来判断,要用异常来确定是否读到结束,因此,在用到对向流读的时候抓的异常要去掉(不输出异常信息),这是正常的。数据层代码如下:package cn.hncu.dao;import java.io.FileInputStream;import java.io.F
2016-04-01 19:56:45 691
原创 VE设计#7 逻辑层Myset
逻辑层:用来判断表现层的合法性,将对象存储到数据层当中。根据前面表现层的需要,写下面所示的对应的函数。在每次改动数据的时候,到数据层去读写操作。package cn.hncu.busines;import java.util.TreeMap;import javax.swing.JOptionPane;import cn.hncu.dao.addressDao;pu
2016-04-01 19:50:35 453
原创 VE设计#6 表现层query界面
找找找,找你妹啊! 没错就是找,这里写一个查找功能:查询界面相比其他界面,查询有点麻烦。但是界面切换和基本思想还是一致的。只是返回的时候将所查询得到的集合返回出来,用这个集合中的数组来新建一个listPanel的构建函数,并显示出来。重要的是在Myset中写的query方法。这里界面写法区别不大。查询界面图:返回按钮还是返回list界面。而查询则是根据返回值去list界面重
2016-04-01 19:42:46 414
原创 VE设计#5 表现层delete界面
不想要这个联系人了怎么破?当然是删除啦。下面我们就来做删除界面。还是同之前的方法,做一个如下如的deletePanel界面。因为我们是要删除,所以我们把传进来的元素设置为不可写的。还是调用Myset(逻辑层)的delete方法。返回一个布尔值确定返回界面。返回按钮则是返回list界面。实现代码如下:/* * deleteJpanel.java * * Created
2016-04-01 19:37:53 754
原创 VE设计#4 表现层updatePanel界面
有了添加之后,我们可以修改啦。QWQ。。。。要修改,我们首先就要将选中的元素传到修改界面中去,在修改界面中显示要修改的元素。如图所示:然后和add界面做法一样,对修改,返回两个按钮添加事件。调用Myset(逻辑层)中 的delete方法 返回一个布尔值 确定返回界面。返回按钮就返回list界面。具体实现代码如下:/* * deleteJpanel.java *
2016-04-01 19:32:12 456
原创 VE设计#3 表现层addPanel界面的实现
开始add功能:点击list的add按钮,我们将界面转向addPanel界面。还是界面传参技术。在addPanel面板中,我们可以学一个表现层代码的基本写法:1、收集参数(数据校验) 2、组织参数(值对象封装)3、调用逻辑层 4.根据逻辑层返回结果,导向不同对象。在这里,我们用String型来收集数据和组织参数。并调用Myset(逻辑层)的add方法返回一个布尔值。如果成功,那么我们返
2016-04-01 19:19:08 548
原创 VE设计#2表现层:listPanelb
在myeclipse环境下,用我上一篇所说的new一个panel组件,取名为listPanel。这个面板是用来显示我们一进程序的界面。将此面板加到JFrame中显示。然后利用界面传参技术,将AddressApp(JFrame)作为一个参数mianFrame传入listPanel来实现调度。作为ui层我们要显示的话就要用Jlist来调用逻辑层来显示数据。这里我们用Myset来做逻辑层。所以Mys
2016-04-01 19:08:47 479
原创 初入VE设计#1初识MVC框架和VE设计、主类的创建
MVC框架即将一个程序分为三层:表现层、逻辑层、数据层。具体调用规则如下图所示:我们使用这种模式是为了分层,使代码之间逻辑关系明显,分类明确,便于日后维护。这本次博主的此文章中,我们采用VE设计,用myeclipse中的插件来模拟这一框架。我们将程序分为一个主类(运行mian函数)、ui(表现层)、dao(数据层)、busines(逻辑层)。下面是VE设计在myeclips
2016-04-01 18:46:30 1057
个人书店系统(单机)
2016-06-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人