![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
百里挑一
这个作者很懒,什么都没留下…
展开
-
设计模式之单例模式
一、描述: Singleton(单例)是设计模式的一种,为了保证一个类仅有一个实例,并提供一个访问它的全局访问点。二、主要特点: 1)单例类确保自己只有一个实例(构造函数私有:不被外部实例化,也不被继承)。 2)单例类必须自己创建自己的实例。 3)单例类必须为其他对象提供唯一的实例。三、单例模式的应用:原创 2016-12-30 10:57:50 · 219 阅读 · 0 评论 -
设计模式之外观模式
我们已经知道适配器模式是如何将一个类的接口转换成另一个符合客户期望的接口的。现在我们要看一个改变接口的新模式,但是它改变接口的原因是为了简化接口。这个模式被巧妙地命名为外观模式,之所以这么称呼,是因为它将一个或数个类的复杂的一切都隐藏在背后,只显露出一个干净美好的外观。甜蜜的家庭影院在我们进入外观模式的细节之前,让我们看一个风行全美的热潮:建立自己的家庭影院。通过一番研究比原创 2017-02-20 17:14:37 · 341 阅读 · 0 评论 -
设计模式之命令模式
一个家电公司想邀请你设计一个家电自动化遥控器的API。这个遥控器有7个可编程的插槽,每个都可以指定到一个不同的家电装置。每个插槽都有对应的“打开”和“关闭”按钮。这个遥控器还具备一个整体的撤销按钮。现在已经有一组Java类,这些类是多家产商开发出来的,用来控制家电自动化装置,例如电灯、风扇、热水器、音响设备和其他类似的可控制装置。你要做的是创建一组控制遥控器的API,让每个插槽都能原创 2017-02-20 17:18:37 · 449 阅读 · 0 评论 -
设计模式之抽象工厂模式
抽象工厂模式提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。确保原料的一致披萨店成功的关键在于新鲜、高质量的原料。要如何确保每家加盟店使用高质量的原料?你打算建造一家生成原料的工厂,并将原料运送到各家加盟店。对于这个做法,现在还剩下一个问题:加盟店坐落在不同的区域,纽约的红酱料和芝加哥的红酱料是不一样的。加盟店之间有相同的产品家族(意式腊肠、酱料、芝士、蔬菜等等原创 2017-02-20 17:21:00 · 244 阅读 · 0 评论 -
设计模式之单件模式
单件模式确保一个类只有一个实例,并提供一个全局访问点。有一些对象我们只需要一个,比方说:线程池、缓存、对话框、处理器偏好设置和注册表的对象等等。事实上,这类对象只能有一个实例,如果制造出多个实例,就会导致许多问题产生,例如:程序的行为异常、资源使用过量,或者是不一致的结果。使用静态变量如何确保这些类只存在一个实例?利用java的静态变量可以做到,但使用静态变量有个缺点:如果原创 2017-02-20 17:23:21 · 300 阅读 · 0 评论 -
设计模式之工厂方法模式
工厂方法模式定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到了子类。预定披萨假设你有一个披萨店,预定披萨的代码可能是这么写的:Pizza orderPizza(){ Pizza pizza = new Pizza(); // 准备面皮,加调料等 pizza.prepare(); // 烘烤 piz原创 2017-02-20 17:31:14 · 705 阅读 · 1 评论 -
设计模式之迭代器模式
迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。爆炸性新闻:对象村餐厅和对象村煎饼屋合并了!真是个好消息!现在我们可以在同一个地方,享用煎饼屋美味的煎饼早餐,和好吃的餐厅午餐了。但是,好像有一点小麻烦:新的餐厅想用煎饼屋菜单当作早餐的菜单,使用餐厅的菜单当做午餐的菜单,大家都同意了这样实现菜单项。但是大家无法同意菜单的实现。煎饼屋使用Arra原创 2017-02-15 16:22:12 · 478 阅读 · 0 评论 -
设计模式之适配器模式
我们周围的适配器如果你需要在欧洲国家使用美国制造的笔记本电脑,你可能需要使用一个交流电的适配器。你知道适配器的作用:它位于美式插头和欧式插座的中间,它的工作是将欧式插座转换成美式插座,好让美式插头可以插进这个插座得到电力。或者也可以这么认为:适配器改变了插座的接口,以符合美式笔记本电脑的需求。好了,这是真实世界的适配器,那面向对象适配器又是什么呢?其实,OO适配器和真实世界原创 2017-02-15 16:25:10 · 345 阅读 · 0 评论 -
设计模式之模板方法模式
模板方法模式在一个方法中定义了一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。有些人没有咖啡就活不下去;有些人则离不开茶。两者共同的成分是什么?当然是咖啡因了!但还不只这样。茶和咖啡的冲泡方式非常相似:星巴兹咖啡冲泡法把水煮沸用沸水冲泡咖啡把咖啡倒进杯子加糖原创 2017-02-15 16:30:06 · 292 阅读 · 0 评论