自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 重构 改善既有代码的设计之在对象之间搬移特性 总结

Move Method(搬移函数)你的程序中 有个函数与其所驻类之外的另一个类进行更多交流 调用后者 或被后者调用在该函数最常引用的类中建立一个有着类似行为的新函数 新旧函数变成一个单纯的委托函数 或是将旧函数完全移除Move Field(搬移字段)你的程序中 某个字段被其所驻类之外的另一个类更多地用到在目标类新建一个字段 修改源字段的所有用户 令它们改用新字段Extract Clas...

2018-09-21 11:01:22 155

原创 重构 改善既有代码的设计之重新组织函数 总结

Extract Method(提炼函数) 你有一段代码可以被组织在一起并独立出来 将这段代码放进一个独立函数中 并让函数名称解释该函数的用途Inline Method(内联函数) 一个函数的本体与名称同样清楚易懂 在函数调用点插入函数本体 然后移除该函数...

2018-09-12 15:05:57 172

原创 23种设计模式总结

创建型抽象工厂 提供一个创建一系列或相关依赖对象的接口 而无需指定它们具体的类创建型模式隐藏了这些类的实例是如何被创建和放在一起 整个系统关于这些对象所知道的是由抽象类所定义的接口 这样 创建型模式在创建了什么 谁创建它 它是怎么被创建的 以及何时创建这些方面提供了很大的灵活性建造者 将一个复杂对象的构建与它的表示分离 使得同样的构建过程可以创建不同的表示内聚性描述的是一个例...

2018-09-10 13:37:11 102

原创 面向对象程序设计原则总结

单一职责原则 就一个类而言 应该仅有一个引起它变化的原因 如果一个类承担的职责过多 就等于把这些职责耦合在一起 一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力 这种耦合会导致脆弱的设计 当变化发生时 设计会遭受到意想不到的破坏 软件设计真正要做的许多内容 就是发现职责并把那些职责相互分离 如果你能够想到多于一个的动机去改变一个类 那么这个类就具有多于一个的职责开放-封闭原则...

2018-09-07 17:26:50 1332

原创 大话设计模式之访问者模式总结-java实现

注:示例来自《大话设计模式》假如现有如下一段代码package Test28;public class Program { public static void main(String[] args) { System.out.println("男人成功时,背后多半有一个伟大的女人。"); System.out.println("女人成功...

2018-09-07 16:47:23 312

原创 大话设计模式之解释器模式总结-java实现

注:示例来自《大话设计模式》解释器模式 给定一个语言 定义它的文法的一种表示 并定义一个解释器 这个解释器使用该表示来解释语言中的句子如果一种特定类型的问题发生的频率足够高 那么可能就值得将该问题的各个实例表述为一个简单语言中的句子 这样就可以构建一个解释器 该解释器通过解释这些句子来解决该问题下面我们来做个小型的音乐解释器程序 代码如下演奏内容类package Test2...

2018-09-07 15:32:29 194

原创 大话设计模式之享元模式总结-java实现

注:示例来自《大话设计模式》假如现有如下需求 有多个客户想要使用同样的网站 但要求不太一样 有的希望是博客形式的 还有的希望是产品图片说明形式的 简单代码实现如下网站类package Test26;//网站public class WebSite { private String name = ""; public WebSite(String name) ...

2018-09-07 14:25:28 712

原创 大话设计模式之中介者模式总结-java实现

注:示例来自《大话设计模式》尽管将一个系统分割成许多对象通常可以增加其可复用性 但是对象间相互连接的激增又会降低其可复用性 因为大量的连接使得一个对象不可能在没有其他对象的支持下工作 系统表现为一个不可分割的整体 所以 对系统的行为进行任何较大的改动就十分困难了 要解决这样的问题 可以用中介者模式下面我们写一个案例 需求是美国和伊拉克之间的对话都是通过联合国安理会作为中介来完成 简单代码实...

2018-09-07 12:00:32 326

原创 大话设计模式之职责链模式总结-java实现

注:示例来自《大话设计模式》假如现有如下场景 员工向经理申请加薪或请假 经理没权利 然后向总监上报 总监也没权限 向总经理上报 我们用代码来实现这个场景 简单代码实现如下申请类package Test24;//申请public class Request { //申请类别 private String requestType; //申请内容 ...

2018-09-07 10:57:20 173

原创 大话设计模式之命令模式总结-java实现

注:示例来自《大话设计模式》假如现有如下场景 路边有个烤肉摊 可以点烤肉吃 简单代码实现如下烤肉串者类package Test23;//烤肉串者public class Barbecuer { //烤羊肉 public void BakeMutton() { System.out.println("烤羊肉串!"); } ...

2018-09-07 09:36:54 286

原创 大话设计模式之桥接模式总结-java实现

注:示例来自《大话设计模式》假如现有如下场景 现有M和N品牌的手机 有游戏和通讯录功能 简单代码实现如下手机类package Test22;//手机品牌public abstract class HandsetBrand { public abstract void Run();}手机品牌N和手机品牌M类package Test22;//手机品...

2018-09-06 15:51:01 207

原创 大话设计模式之单例模式总结-java实现

注:示例来自《大话设计模式》所有类都有构造方法 不编码则系统默认生成空的构造方法 若有显示定义的构造方法 默认的构造方法就会失效单例模式 保证一个类仅有一个实例 并提供一个访问它的全局访问点通常我们可以让一个全局变量使得一个对象被访问 但它不能防止你实例化多个对象 一个最好的办法就是 让类自身负责保存它的唯一实例 这个类可以保证没有其他实例可以被创建 并且它可以提供一个访问该实例的方法...

2018-09-06 14:10:19 251

原创 大话设计模式之迭代器模式总结-java实现

注:示例来自《大话设计模式》假如现有如下场景 公交车上 乘务员按顺序让每个人买票 使用迭代器模式简单实现如下Iterator迭代器抽象类package Test20;public abstract class Iterator { public abstract Object First(); public abstract Object Next(); ...

2018-09-06 11:20:35 462

原创 大话设计模式之组合模式总结-java实现

注:示例来自《大话设计模式》假如现有如下场景 给一家大公司做办公管理系统 总部有人力资源 财务 运营等部门 还有一些分公司 现在有个需求 总公司的人力资源部 财务部等办公管理功能在所有的分公司都需要有 这其实就是整体与部分可以被一致对待的问题 下面我们使用组合模式进行简单实现 代码如下公司类package Test19;public abstract class Company...

2018-09-06 09:36:44 928

原创 大话设计模式之备忘录模式总结-java实现

注:示例来自《大话设计模式》假如现有如下场景 游戏的某个场景 一游戏角色有生命力 攻击力 防御力等等数据 在打Boss前和后一定会不一样的 我们允许玩家如果感觉与Boss决斗的效果不理想 可以让游戏恢复到决斗前 简单代码实现如下游戏角色类package Test18;public class GameRole { //生命力 private int vit;...

2018-09-05 16:20:57 290

原创 大话设计模式之适配器模式总结-java实现

注:示例来自《大话设计模式》假如现有如下场景 篮球比赛 教练叫暂停时给后卫 中锋 前锋分配进攻和防守任务 简单代码实现如下球员类package Test17;//篮球运动员public abstract class Player { protected String name; public Player(String name) { ...

2018-09-05 11:26:27 573

原创 大话设计模式之状态模式总结-java实现

注:示例来自《大话设计模式》假如现有如下场景 员工上班 根据一天的时间变化 员工的状态也随之改变 如上午状态好 中午想睡觉 下午渐恢复 加班苦煎熬 初步代码实现如下package Test16;public class Program { static int Hour = 0; static boolean WorkFinished = false; pu...

2018-09-05 10:19:21 222

原创 大话设计模式之抽象工厂模式总结-java实现

注:示例来自《大话设计模式》现有如下需求 写一个基本的数据访问程序 数据库用SqlServer 简单代码实现如下用户类package Test15;public class User { private int id; private String name; public int getId() { return id; }...

2018-09-05 08:44:44 482

原创 大话设计模式之观察者模式总结-java实现

注:示例来自《大话设计模式》现有如下需求 公司员工想要利用工作时间炒股票 老板经常外出 怕被老板看到 于是拜托前台小姐姐 老板回来的时候打个电话通知他们 初步代码实现如下前台秘书类package Test14;import java.util.ArrayList;import java.util.List;//前台秘书类public class Secretary { ...

2018-09-04 13:31:48 903

原创 大话设计模式之建造者模式总结-java实现

注:示例来自《大话设计模式》现有如下需求 用程序画一个小人 简单代码实现如下package Test12;public class Program { public static void main(String[] args) { System.out.println("画小人头部"); System.out.println("画小人身体")...

2018-09-04 09:27:29 473 1

原创 大话设计模式之外观模式总结-java实现

注:示例来自《大话设计模式》现有股民炒股票的代码如下股票1类package Test11;//股票1public class Stock1 { //卖股票 public void Sell() { System.out.println(" 股票1卖出"); } //买股票 public void Buy()...

2018-09-03 14:57:14 369

原创 大话设计模式之模板方法模式总结-java实现

注:示例来自《大话设计模式》现有需求如下 老师随堂测验 在黑板上抄题目 学生先抄题目 然后再做答案 代码初步实现如下学生甲抄的试卷类package Test10;//学生甲抄的试卷public class TestPaperA { //试题1 public void TestQuestion1() { System.out.print...

2018-09-03 13:03:22 426

原创 大话设计模式之原型模式总结-java实现

注:示例来自《大话设计模式》现有需求如下 要求有一个简历类 必须要有姓名 可以设置性别和年龄 可以设置工作经历 最终我需要写三份简历 代码初步实现如下简历类package Test09;//简历public class Resume { private String name; private String sex; private String a...

2018-09-03 10:56:16 472

空空如也

空空如也

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

TA关注的人

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