自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 353

原创 设计模式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 588

原创 VE设计#8数据层

数据层用来存储数据。 这里采用对象读写,要注意的是数据层只跟逻辑层有关与表现层无关,还有,对象流的读写不能用avaliable来判断,要用异常来确定是否读到结束,因此,在用到对向流读的时候抓的异常要去掉(不输出异常信息),这是正常的。 数据层代码如下: package cn.hncu.dao; import java.io.FileInputStream; import java.io.F

2016-04-01 19:56:45 689

原创 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 450

原创 VE设计#6 表现层query界面

找找找,找你妹啊! 没错就是找,这里写一个查找功能: 查询界面 相比其他界面,查询有点麻烦。但是界面切换和基本思想还是一致的。只是返回的时候将所查询得到的集合返回出来,用这个集合中的数组来新建一个listPanel的构建函数,并显示出来。重要的是在Myset中写的query方法。这里界面写法区别不大。 查询界面图: 返回按钮还是返回list界面。而查询则是根据返回值去list界面重

2016-04-01 19:42:46 412

原创 VE设计#5 表现层delete界面

不想要这个联系人了怎么破?当然是删除啦。下面我们就来做删除界面。 还是同之前的方法,做一个如下如的deletePanel界面。因为我们是要删除,所以我们把传进来的元素设置为不可写的。 还是调用Myset(逻辑层)的delete方法。返回一个布尔值确定返回界面。返回按钮则是返回list界面。 实现代码如下: /* * deleteJpanel.java * * Created

2016-04-01 19:37:53 753

原创 VE设计#4 表现层updatePanel界面

有了添加之后,我们可以修改啦。QWQ。。。。 要修改,我们首先就要将选中的元素传到修改界面中去,在修改界面中显示要修改的元素。如图所示: 然后和add界面做法一样,对修改,返回两个按钮添加事件。 调用Myset(逻辑层)中 的delete方法 返回一个布尔值 确定返回界面。 返回按钮就返回list界面。 具体实现代码如下: /* * deleteJpanel.java *

2016-04-01 19:32:12 455

原创 VE设计#3 表现层addPanel界面的实现

开始add功能: 点击list的add按钮,我们将界面转向addPanel界面。还是界面传参技术。在addPanel面板中,我们可以学一个 表现层代码的基本写法:1、收集参数(数据校验) 2、组织参数(值对象封装)3、调用逻辑层 4.根据逻辑层返回结果,导向不同对象。 在这里,我们用String型来收集数据和组织参数。并调用Myset(逻辑层)的add方法返回一个布尔值。如果成功,那么我们返

2016-04-01 19:19:08 546

原创 VE设计#2表现层:listPanelb

在myeclipse环境下,用我上一篇所说的new一个panel组件,取名为listPanel。这个面板是用来显示我们一进程序的界面。将此面板加到JFrame中显示。然后利用界面传参技术,将AddressApp(JFrame)作为一个参数mianFrame传入listPanel来实现调度。 作为ui层我们要显示的话就要用Jlist来调用逻辑层来显示数据。这里我们用Myset来做逻辑层。所以Mys

2016-04-01 19:08:47 478

原创 初入VE设计#1初识MVC框架和VE设计、主类的创建

MVC框架即将一个程序分为三层:表现层、逻辑层、数据层。具体调用规则如下图所示: 我们使用这种模式是为了分层,使代码之间逻辑关系明显,分类明确,便于日后维护。 这本次博主的此文章中,我们采用VE设计,用myeclipse中的插件来模拟这一框架。 我们将程序分为一个主类(运行mian函数)、ui(表现层)、dao(数据层)、busines(逻辑层)。 下面是VE设计在myeclips

2016-04-01 18:46:30 1057

jredis java连接jar包

jredis java连接jar包

2017-04-10

TortoiseSVN-1.8

TortoiseSVN-1.8

2017-04-07

PLSQL10.0.1.1694最新版+汉化包+注册机

PLSQL10.0.1.1694最新版+汉化包+注册机

2017-04-07

个人书店系统(单机)

充分利用mvc的思想(表现层ui+数据层dao+逻辑层business)以及铁三角模式(实现类+抽象类+工厂类)以及值对象vo 充分学习java的面向对象编程思想 本程序包括:进货模块、管理模块、销售模块、用户模块、库存模块五大功能模块以及登录界面模块

2016-06-20

空空如也

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

TA关注的人

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