设计模式详解
Ⅰ 设计模式与算法有什么区别请详细说明一下
设计模式通常是把再开发中经常用到的程序进行抽象形成一种框专架,便于以后类似情况时候属的使用,是设计简化; 算法是某一种计算方式的抽象,通常是为了得到某一结果而进行的,而得到这个结果可能有很多途径,每一种途径可能都可以抽象成一种算法。
Ⅱ 设计模式解析读后感
[设计模式解析读后感]2010年05月01日 今天终于看完了《设计模式解析》,虽然对有些模式理解还很浅薄,还不能灵活的运用这些模式,重要的是我以后要时刻注意用模式的思维来看待问题,观察角度更高了,设计模式解析读后感。不用死记硬背图表和定义,关键唤醒种思维的角度和意识。 看完这本书后,才意识到以前编程的时候对有些问题的解决方法实在是太不入流了。以前有时候没有考虑什么冗余,膨胀什么的,只要能实现功能就好。目标也只有一个,就是实现功能万岁。以后一定多多思考有没有更好的更简洁方法。这样才能提高自己的层次吧。 书中对于面向对象原则总结挺精辟的: 如下: 1.对象是具有明确定义的责任的事务 2.对象对自己负责 3.封装指的是任何形式的隐藏,读后感《设计模式解析读后感》。数据隐藏,实现隐藏,类隐藏,设计隐藏,实例化隐藏 4.使用共性和可变性分析抽象行为和数据的变化 5.按接口设计 6.将继承看成一种将变化概念化的方法,而不是创建已有对象的特殊情形。 7.将变化放入一个类中,并与该类中的其他变化解耦 8.力求松耦合 9.力求低内聚 10.将使用一个对象的代码与创建该对象的代码分离。 11.在应用“一次且进一次” 书中作者发明的分析矩阵的方法好像很实用的。〔设计模式解析读后感〕随文赠言:【这世上的一切都借希望而完成,农夫不会剥下一粒玉米,如果他不曾希望它长成种粒;单身汉不会娶妻,如果他不曾希望有孩子;商人也不会去工作,如果他不曾希望因此而有收益。】
Ⅲ 设计模式解析的内容简介
《设计模式解析(第2版)》以作者自身学习、使用模式和多年来为软件开发人员(包括版面向权对象技术老兵和新手)讲授模式的经验为基础撰写而成。首先概述了模式的基础知识,以及面向对象分析和设计在当代软件开发中的重要性,随后使用易懂的示例代码阐明了12个最常用的模式,包括它们的基础概念、优点、权衡取舍、实现技术以及需要避免的缺陷,使读者能够理解模式背后的基本原则和动机,理解为什么它们会这样运作。
《设计模式解析(第2版)》适合软件开发专业人士,以及计算机专业、软件工程专业的高校师生阅读,也可作为面向对象分析与设计课程的参考教材。
Ⅳ Java中常用的设计模式有哪些请详细说明一下工厂模式。
1.单例模式(有的书上说叫单态模式其实都一样)
该模式主要目的是使内存中保持1个对象
2.工厂模式
该模式主要功能是统一提供实例对象的引用。看下面的例子:
public class Factory{
public ClassesDao getClassesDao(){
ClassesDao cd = new ClassesDaoImpl();
return cd;
}
}
interface ClassesDao{
public String getClassesName();
}
class ClassesDaoImpl implements ClassesDao {
public String getClassesName(){
System.out.println("A班");
}
}
class test
{
public static void main(String[] args){
Factory f = new Factory();
f.getClassesDao().getClassesName();
}
}
这个是最简单的例子了,就是通过工厂方法通过接口获取对象的引用
3.建造模式
该模式其实就是说,一个对象的组成可能有很多其他的对象一起组成的,比如说,一个对象的实现非常复杂,有很多的属性,而这些属性又是其他对象的引用,可能这些对象的引用又包括很多的对象引用。封装这些复杂性,就可以使用建造模式。
4.门面模式
这个模式个人感觉像是Service层的一个翻版。比如Dao我们定义了很多持久化方法,我们通过Service层将Dao的原子方法组成业务逻辑,再通过方法向上层提供服务。门面模式道理其实是一样的。
5.策略模式
这个模式是将行为的抽象,即当有几个类有相似的方法,将其中通用的部分都提取出来,从而使扩展更容易。
Ⅳ Android 开发中常用到的设计模式有哪些
Builder模式:比如AlertDialog.Builder。
适配器模式:比如GridView、ListView与Adapter。
命令模式:比如Handler.post。
享元模式:比如Message.obtain。
单例模式:比如InputMethodManager.getInstance。
观察者模式:比如ContentObserver。
这是一些经常用到的设计模式以及举例。
Ⅵ 《设计模式:可复用面向对象软件的基础》是以啥子语言为基础讲解的
可以基于Java,C或者C++,其实主要是面向对象的思想,和具体实现的语言关系不大。
不过版java,c++本来权就是面向对象的语言,所以写起来方便。但真正理解了面向对象的思想,用C语言也是可以写出来的,而且C语言更加的清晰。
书面说证明有使用Java,C++讲解设计模式的书籍,可以查阅一下豆瓣。
Ⅶ java面向对象设计原则和设计模式详解
Java面向对象设计原则
1) Open-Close Principle(OCP),开-闭原则,讲的是设计要对扩展有好的支持,而对修改要严格限制。这是最重要也是最为抽象的原则,基本上我们所说的Reusable Software既是基于此原则而开发的。其他的原则也是对它的实现提供了路径。
2) Liskov Substituition Principle(LSP),里氏代换原则,很严格的原则,规则是“子类必须能够替换基类,否则不应当设计为其子类。”也就是说,子类只能去扩展基类,而不是隐藏或覆盖基类.
3) Dependence Inversion Principle(DIP),依赖倒换原则,“设计要依赖于抽象而不是具体化”。换句话说就是设计的时候我们要用抽象来思考,而不是一上来就开始划分我需要哪些哪些类,因为这些是具体。这样做有什么好处呢?人的思维本身实际上就是很抽象的,我们分析问题的时候不是一下子就考虑到细节,而是很抽象的将整个问题都构思出来,所以面向抽象设计是符合人的思维的。另外这个原则会很好的支持OCP,面向抽象的设计使我们能够不必太多依赖于实现,这样扩展就成为了可能,这个原则也是另一篇文章《Design by Contract》的基石。
4) Interface Segregation Principle(ISP),“将大的接口打散成多个小接口”,这样做的好处很明显,我不知道有没有必要再继续描述了,为了节省篇幅,实际上我对这些原则只是做了一个小总结,如果有需要更深入了解的话推荐看《Java与模式》,MS MVP的一本巨作!^_^
5) Composition/Aggregation Reuse Principle(CARP),设计者首先应当考虑复合/聚合,而不是继承(因为它很直观,第一印象就是“哦,这个就是OO啊”)。这个就是所谓的“Favor Composition over Inheritance”,在实践中复合/聚合会带来比继承更大的利益,所以要优先考虑。
6) Law of Demeter or Least Knowlegde Principle(LoD or LKP),迪米特法则或最少知识原则,这个原则首次在Demeter系统中得到正式运用,所以定义为迪米特法则。它讲的是“一个对象应当尽可能少的去了解其他对象”。也就是又一个关于如何松耦合(Loosely-Coupled)的法则。
设计模式:
1)适配器模式
http://eneasy.javaeye.com/blog/174838
2)桥接器模式
http://eneasy.javaeye.com/blog/174892
3)职责链模式
http://eneasy.javaeye.com/blog/174906
4)命令模式
http://eneasy.javaeye.com/blog/174896
5)装饰器模式
http://eneasy.javaeye.com/blog/174840
6)外观模式
http://eneasy.javaeye.com/blog/174890
7)工厂模式
http://eneasy.javaeye.com/blog/174831
8)享元模式
http://eneasy.javaeye.com/blog/174891
9)代理模式
http://eneasy.javaeye.com/blog/174887
10)单例模式
http://eneasy.javaeye.com/blog/174829
11)状态模式
http://eneasy.javaeye.com/blog/174897
12)策略模式
http://eneasy.javaeye.com/blog/174894
13)模板模式
http://eneasy.javaeye.com/blog/174893
14)访问者模式
http://eneasy.javaeye.com/blog/174914
Ⅷ 求解Java的设计模式的详细解释,不要太抽象了 。 谢谢
我的理解就是不断的定义class,在class里定义不同的变量(属性)和方法(做什么?怎么做等)
Ⅸ java设计模式有哪些
注:以下内容为复制;
总体来说设计模式分为三大类:
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
其实还有两类:并发型模式和线程池模式
Java开发中的23种设计模式详解