- 博客(14)
- 资源 (5)
- 问答 (1)
- 收藏
- 关注
原创 23个设计模式
一、创建型(Creational)1. 单例(Singleton)2. 原型(Prototype)3. 建造者(Builder)4. 工厂方法(Factory Method)5. 抽象工厂(Abstract Factory)二、结构型(Structural)6. 适配器(Adapter)7. 桥接(Bridge)8. 组合(Composite)9.
2017-06-06 17:13:55 255
原创 SA 面向对象的设计法则
面向对象的设计法则1. 优先使用组合(对象),而非继承(类)(1) 组合 优点:容器类仅能通过被包含对象的接口来对其进行访问黑盒复用相互依赖性比较小 缺点:导致系统中的对象比较多为了能将多个不同的对象作为组合块,必须仔细定义接口(2) 继承 优点:容易实现,多数方法都可以通过继承而来易于修改或扩展那些被复用的实现
2017-06-06 16:56:42 610
原创 MVC
1. MVC的提出是为了面对现实中不断发生的变化。2. Model:负责定义信息格式,包括业务逻辑与信息验证。View:负责用户界面相关呈现Controller:负责控制系统运行的流程,相应客户端的各种请求、错误处理等。3. 优点:低耦合、高复用、易分工、好维护4. 缺点:设计复杂,新理念需要学习(一般小型应用程序不使用MVC)
2017-06-06 16:42:00 223
原创 设计模式 抽象工厂 Abstract Factory
为创建一组相关或相互依赖的对象提供一个接口,而且无需指定它们的具体类。抽象工厂模式是工厂方法模式的升级版本,它用来创建一组相关或者相互依赖的对象。它与工厂方法模式的区别就在于,工厂方法模式针对的是一个产品等级结构;而抽象工厂模式则是针对的多个产品等级结构。在编程中,通常一个产品结构,表现为一个接口或者抽象类,也就是说,工厂方法模式提供的所有产品都是衍生自同一个接口或抽象类,而抽象工厂模式所提供
2017-06-03 12:51:35 275
原创 设计模式 建造者模式 Builder
采取循序渐进的方式组合较复杂的对象实例。复杂对象的各个部分经常面临剧烈变化,但将它们组合在一起的算法相对稳定。1.指导者Director调用具体建造者角色以创建产品对象的各个部分。指导者并没有涉及具体产品类的信息,真正拥有具体产品的信息是具体建造者对象。它只负责保证对象各部分完整创建或按某种顺序创建。public class Director { pri
2017-06-03 10:11:56 238
原创 设计模式 原型设计 Prototype
从一个对象实例产生出另外一个新对象实例,即通过拷贝原型来创建新的对象,减少类的数目。组成:客户角色:使用原型对象的客户程序抽象原型角色:定义具体原型对象必须实现的接口(如果要提供深拷贝,则必须具有实现clone的规定)具体原型角色:从抽象原型派生而来,是客户程序使用的对象,即被复制的对象。此角色实现抽象原型角色所要求的的接口。1.客户角色Managerimport
2017-06-02 17:13:02 273
原创 设计模式 工厂方法模式 Factory Method
定义一个创建对象的接口,让子类决定实例化哪个类,使得一个类的实例化延迟到其子类。1.工厂接口Factorypublic abstract class Factory { public final Product create(String owner) { Product p = createProduct(owner); registerP
2017-06-02 11:48:23 258
原创 设计模式 迭代器模式 Iterator
为聚合对象提供一个对外访问方法而不暴露其内部结构。基本思想:将对列表的访问和遍历从列表对象中分离出来并放入一个迭代器对象中。迭代器定义了一个访问该列表元素的接口。1.书籍Bookpublic class Book { private String name; public Book(String name) { this.name = name;
2017-06-02 11:13:57 276
原创 设计模式 模板方法模式 Template Method
模板方法模式,就是先定义算法骨架,而将一下不走延迟到子类中。也就是先定义模板,模板的具体内容由子类去实现,跟平时写论文等相似。
2017-06-02 10:46:31 292
原创 设计模式 适配器模式 Adapter
适配器作为一种桥梁,将接口和实现结合起来,将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容的而不能一起工作的类可以一起工作。1.接口Printpublic interface Print { public abstract void printWeak(); public abstract void printStrong();}2.实现
2017-06-02 10:29:41 251
原创 设计模式 单例模式 Singleton
public class Singleton { private static Singleton singleton = new Singleton(); private Singleton() { System.out.println("已产生对象实例。"); } public static Singleton getInstance() {
2017-06-02 10:14:57 203
斯坦福大学CS20SI课程-Tensorflow for Deep Learning Research
2018-01-01
sqlserver: sqljdbc4.jar
2017-03-20
sqljdbc4.jar
2017-03-20
VMware中的Ubuntu能否使用主机的GPU
2017-03-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人