`

面对介面编程,而不是面对实现

阅读更多
一、创建模式

1.  设计模式之Factory(工厂方法和抽象工厂)

    使用工厂模式就象使用new一样频繁.

2.  设计模式之Prototype(原型)

    用原型实例指定创建物件的种类,並且通过拷贝这些原型创建新的物件。

3.  设计模式之Builder
   
     汽车由车轮 方向盘 发动机很多部件组成,同时,将这些部件组装成汽车也是一件複杂的工作,Builder模式就是将这两种情况分开进行。

4.  设计模式之Singleton(单态)

    保證一个类只有一个实例,並提供一个访问它的全局访问点


二、结构模式

1.  设计模式之Facade

     可扩展的使用JDBC针对不同的资料库编程,Facade提供了一种灵活的实现。 

2.   设计模式之Proxy

     以Jive爲例,剖析代理模式在用户级别授权机制上的应用

3.   设计模式之Adapter

      使用类再生的两个方式:组合(new)和继承(extends),这个已经在"thinking in java"中提到过。

4.   设计模式之Composite

     就是将类用树形结构组合成一个单位。你向别人介绍你是某单位,你是单位元元中的一个元素,别人和你做买卖,相当於和单位做买卖。文章中还对Jive再进行了剖析。

5.    设计模式之Decorator

       Decorator是个油漆工,给你的东东的外表刷上美丽的顔色。

6.    设计模式之Bridge

       将"牛郎织女"分开(本应在一起,分开他们,形成两个介面),在他们之间搭建一个桥(动态的结合)

7.     设计模式之Flyweight

       提供Java运行性能,降低小而大量重复的类的开销。

三、 行爲模式

1.    设计模式之Template

      实际上向你介绍了爲什麽要使用Java 抽象类,该模式原理简单,使用很普遍。

2.    设计模式之Memento

      很简单一个模式,就是在记忆体中保留原来资料的拷贝。

3.    设计模式之Observer

     介绍如何使用Java API提供的现成Observer

4.    设计模式之Chain of Responsibility

     各司其职的类串成一串,好象击鼓传花,当然如果自己能完成,就不要推委给下一个。

5.    设计模式之Command

      什麽是将行爲封装,Command是最好的说明。

6.    设计模式之State

     状态是编程中经常碰到的实例,将状态物件化,设立状态变换器,便可在状态中轻鬆切换。

7.    设计模式之Strategy

     不同演算法各自封装,用户端可随意挑选需要的演算法。

8.    设计模式之Mediator

Mediator很象十字路口的红绿灯,每个车辆只需和红绿灯交互就可以。

9.    设计模式之Interpreter

      主要用来对语言的分析,应用机会不多。

10.   设计模式之Visitor

      访问者在进行访问时,完成一系列实质性操作,而且还可以扩展。

11.    设计模式之Iterator

      这个模式已经被用来遍曆Collection中物件。使用频率很高。在Java中无需专门阐述,在大多数场合也无需自己制造一个Iterator,只要将物件装入Collection中,我们就直接可以使用Iterator模式。
分享到:
评论

相关推荐

    基于net的超市管理系统源代码(完整前后端+sqlserver+说明文档+LW).zip

    功能说明: 环境说明: 开发软件:VS 2017 (版本2017以上即可,不能低于2017) 数据库:SqlServer2008r2(数据库版本无限制,都可以导入) 开发模式:mvc。。。

    LABVIEW程序实例-公式节点.zip

    labview程序代码参考学习使用,希望对你有所帮助。

    大米商城开源版damishop(适合外贸)

    大米外贸商城系统 简称damishop 完全开源版,只需做一种语言一键开启全球133中语言自动翻译功能,价格实现自动汇率转换,集成微信支付宝 paypal以及国外主流支付方式,自带文章博客系统。 软件架构 基于MVC+语言包模式,增加控制台,API导入产品方便对接其他系统(带json示例数据)。 使用要求 PHP7.4+ MYSQL5.6+ REDIS(可选) 安装方法 composer install 打开安装向导安装 http://您的域名/install 特色 1、缓存层增加时间与批量like删除 2、API产品导入方便对接其他系统 3、增加控制台命令行,命令行生成语言翻译包 4、后台一键开启自动翻译模式,支持全球133中语言,由于google代理翻译需要收费,这个功能需要付费。 5、可选购物车与ajax修改购物车产品 6、一键结算checkout 7、增加网站前台自定义路由 方便seo 更新日志 v3.9.7 集成鱼码支付接口,方便个人站长即使收款到账使用 v3.9.3 更新内容 1:增加ueditor与旧编辑器切换 2:增加可视化布局插

    LABVIEW程序实例-通过全局变量接收数据.zip

    labview程序代码参考学习使用,希望对你有所帮助。

    LABVIEW程序实例-日历控件.zip

    labview程序代码参考学习使用,希望对你有所帮助。

    毕设和企业适用springboot人工智能客服系统类及旅游规划平台源码+论文+视频.zip

    毕设和企业适用springboot人工智能客服系统类及旅游规划平台源码+论文+视频

Global site tag (gtag.js) - Google Analytics