1、盖房项目需求1)需要建房子:这一过程为打桩、砌墙、封顶
2)房子有各种各样的,比如普通房,高楼,别墅,各种房子的过程虽然一样,但是要求不相同的。
3)请编写程序,完成需求。
2、传统方式解决盖房需求1)思路分析(图解)
2)代码演示
AbstractHouse 盖房子抽象类
1234567891011121314151617181920public abstract class AbstractHouse { /** * 打地基 */ public abstract void buildBasic(); /** * 砌墙 */ public abstract void buildWalls(); /** * 封顶 */ public abstract void roofed(); public void build() { buildBasic(); buildWalls(); ...
1、克隆羊问题现在有一只羊 tom,姓名为:tom,年龄为:1,颜色为:白色,请编写程序创建和 tom 羊属性完全相同的 10 只羊。
2、传统方式解决克隆羊问题1)思路分析
2)代码演示
Sheep 羊类
12345678910111213141516171819202122232425262728293031323334353637public class Sheep { private String name; private Integer age; private String color; public Sheep(final String name, final Integer age, final String color) { this.name = name; this.age = age; this.color = color; } public String getName() { retu ...
1、简单工厂模式1.1 看一个具体的需求看一个披萨的项目:要便于披萨种类的扩展,要便于维护
1)披萨的种类很多(比如 GreekPizza、CheesePizza 等)
2)披萨的制作有 prepare,bake,cut,box
3)完成披萨店订购功能
1.2 使用传统的方式来完成1)思路分析(类图)
2)代码演示
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495public abstract class Pizza { /** * 名字 */ protected String name; /** * 准备原材料,不同的披萨不一样,因此,我们做成抽象方法 */ public ab ...
1、基本介绍所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个去的其对象实例的方法(静态方法)。
比如 Hibernate 的 SessionFactory,它充当数据存储源的代理,并负责创建 Session 对象。SessionFactory 并不是轻量级的,一般情况下,一个项目通常只需要一个 SessionFactory 就够,这是就会使用到单例模式。
2、单例模式的使用方式单例模式有八种方式:
1)[饿汉式(静态常量)]2)[饿汉式(静态代码块)]3)[懒汉式(线程不安全)]4)[懒汉式(线程安全,同步方法)]5)[懒汉式(线程安全,同步代码块)]6)[双重检查]7)[静态内部类]8)[枚举]
3、饿汉式(静态常量)3.1 应用实例步骤如下:
1)构造器私有化(防止 new)
2)类的内部创建对象
3)向外暴露一个静态的公共方法。getInstance
4)代码实现
1234567891011121314151617181920212223242526272829303132333435package com.wenz ...
一、掌握设计模式的层次1)第一层:刚开始学编程不久,听说过什么是设计模式
2)第二层:有很长时间的编程经验,自己写了很多代码,其中用到了设计模式,但是自己却不知道。
3)第三层:学习过了设计模式,发现自己已经在使用了,并且发现了一些新的模式挺好用的。
4)第四层:阅读了很多别人写的源码和框架,在其中看到别人设计模式,并且能够领会设计模式的精妙和带来的好处。
5)第五层:代码写着写着,自己都没有意识到使用了设计模式,并且熟练的写了出来。
二、设计模式介绍1)设计模式是程序员在面对同类软件工程设计问题所总结出来的有用的经验,模式不是代码,而是某类问题的通用解决方案,设计模式(Design Pattern)代表了最佳的实践。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。
2)设计模式的本质:提高了软件的维护性、通用性和扩展性,并降低了软件的复杂度。
3)《设计模式》是经典的书,作者是 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides Design(俗称“四人组 GOF ”)。
4)设计模式并不局限于某种 ...
