导航:首页 > 编程语言 > javadesign

javadesign

发布时间:2024-05-23 21:45:33

『壹』 关于java design pattern的几个问题

prototype:原型模式
用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新回的对象
abstract factory:抽象答工厂模式
根据多态来创建想要的对象,而不需要知道创建对象的具体过程。
singleton:单例模式
单例模式设计的类型,整个JVM中只存在一个这样类型的实例。
adapter:适配器模式
主用来要为接口提供一些默认的实现类,一般为抽象类
strategy:策略模式
为一个需求提供不同的解决方案,每一个方案类都实现了同一个接口.

我只能讲这么多了,因为设计模式这东西也不是一名两名话能说清楚的,假如想学设计的话建议你去看看阎宏的《JAVA与模式》,挺不错的。

『贰』 JAVA面向对象设计有哪些原则

甚至还有经验丰富的Java程序员没有听说过OOPS和SOLID设计原则,他们根本不知道设计原则的好处,也不知道如何依照这些原则来进行编程。 众所周知,Java编程最基本的原则就是要追求高内聚和低耦合的解决方案和代码模块设计。查看Apache和Sun的开放源代码能帮助你发现其他Java设计原则在这些代码中的实际运用。Java DevelopmentKit则遵循以下模式:BorderFactory类中的工厂模式、Runtime类中的单件模式。 原则1:DRY(Don'trepeatyourself) 即不要写重复的代码,而是用"abstraction"类来抽象公有的东西。如果你需要多次用到一个硬编码值,那么可以设为公共常量;如果你要在两个以上的地方使用一个代码块,那么可以将它设为一个独立的方法。SOLID设计原则的优点是易于维护,但要注意,不要滥用,plicate不是针对代码,而是针对功能。这意味着,即使用公共代码来验证OrderID和SSN,二者也不会是相同的。使用公共代码来实现两个不同的功能,其实就是近似地把这两个功能永远捆绑到了一起,如果OrderID改变了其格式,SSN验证代码也会中断。因此要慎用这种组合,不要随意捆绑类似但不相关的功能。 原则2:封装变化 在软件领域中唯一不变的就是"Change",因此封装你认为或猜测未来将发生变化的代码。OOPS设计模式的优点在于易于测试和维护封装的代码。如果你使用Java编码,可以默认私有化变量和方法,并逐步增加访问权限,比如从private到protected和notpublic.有几种Java设计模式也使用封装,比如Factory设计模式是封装"对象创建",其灵活性使得之后引进新代码不会对现有的代码造成影响。 原则3:开闭原则 即对扩展开放,对修改关闭。这是另一种非常棒的设计原则,可以防止其他人更改已经测试好的代码。理论上,可以在不修改原有的模块的基础上,扩展功能。这也是开闭原则的宗旨。 原则4:单一职责原则 类被修改的几率很大,因此应该专注于单一的功能。如果你把多个功能放在同一个类中,功能之间就形成了关联,改变其中一个功能,有可能中止另一个功能,这时就需要新一轮的测试来避免可能出现的问题。 原则5:依赖注入或倒置原则 这个设计原则的亮点在于任何被DI框架注入的类很容易用mock对象进行测试和维护,因为对象创建代码集中在框架中,客户端代码也不混乱。有很多方式可以实现依赖倒置,比如像AspectJ等的AOP(AspectOrientedprogramming)框架使用的字节码技术,或Spring框架使用的代理等。 原则6:优先利用组合而非继承 如果可能的话,优先利用组合而不是继承。一些人可能会质疑,但我发现,组合比继承灵活得多。组合允许在运行期间通过设置类的属性来改变类的行为,也可以通过使用接口来组合一个类,它提供了更高的灵活性,并可以随时实现。《EffectiveJava》也推荐此原则。 原则7:里氏代换原则(LSP) 根据该原则,子类必须能够替换掉它们的基类,也就是说使用基类的方法或函数能够顺利地引用子类对象。LSP原则与单一职责原则和接口分离原则密切相关,如果一个类比子类具备更多功能,很有可能某些功能会失效,这就违反了LSP原则。为了遵循该设计原则,派生类或子类必须增强功能。 原则8:接口分离原则 采用多个与特定客户类有关的接口比采用一个通用的涵盖多个业务方法的接口要好。设计接口很棘手,因为一旦释放接口,你就无法在不中断执行的情况下改变它。在Java中,该原则的另一个优势在于,在任何类使用接口之前,接口不利于实现所有的方法,所以单一的功能意味着更少的实现方法。 原则9:针对接口编程,而不是针对实现编程 该原则可以使代码更加灵活,以便可以在任何接口实现中使用。因此,在Java中最好使用变量接口类型、方法返回类型、方法参数类型等。《EffectiveJava》和《headfirstdesignpattern》书中也有提到。 原则10:委托原则 该原则最典型的例子是Java中的equals()和hashCode()方法。为了平等地比较两个对象,我们用类本身而不是客户端类来做比较。这个设计原则的好处是没有重复的代码,而且很容易对其进行修改。 总之,希望这些面向对象的设计原则能帮助你写出更灵活更好的代码。理论是第一步,更重要的是需要开发者在实践中去运用和体会。

『叁』 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

『肆』 鏈夊摢浜涗紭绉鐨凧ava寮婧愰」鐩鏈鍊煎緱闃呰伙紵


鎺㈢储Java涓栫晫涓鐨勭拃鐠ㄥ紑婧愬疂钘忥紒鍦ㄨ繖涓鍏呮弧鍒涙柊涓庣煡璇嗙殑娴锋磱閲岋紝鎴戜滑绮惧績鎸戦変簡涓绯诲垪椤剁骇Java寮婧愰」鐩锛屽畠浠涓嶄粎涓哄︿範鑰呮彁渚涗簡瀹濊吹鐨勮祫婧愶紝鏇存槸宸ョ▼甯堜滑鎻愬崌鎶鑳姐佽В鍐冲疄闄呴棶棰樼殑寰楀姏鍔╂墜銆備互涓嬫槸鍏朵腑鐨勭簿鍗庢帹鑽愶紝娑电洊浜嗕粠鍩虹鍒拌繘闃讹紝鍐嶅埌瀹炴垬搴旂敤鐨勫叏鏂逛綅鍐呭癸細



鍒蹇樹簡锛屼负杩欎簺椤圭洰鐨勮础鐚鑰呯偣璧炲拰鍒嗕韩浣犵殑鍙戠幇锛岃╂洿澶氫汉鍙楃泭銆傝╂垜浠涓璧峰湪杩欎簺寮婧愰」鐩涓瀵绘壘鍒涙柊鐏垫劅鍜屾彁鍗囪嚜宸辩殑鏈轰細锛



杩欎簺寮婧愰」鐩鏄疛ava寮鍙戣呬滑鐨勫疂钘忥紝瀹冧滑涓嶄粎鎻愪緵浜嗕赴瀵岀殑瀛︿範璧勬簮锛岃繕灞曠ず浜嗕笟鐣屾渶浣冲疄璺点傛寔缁鍏虫敞锛屼笉鏂鎺㈢储锛岃╁畠浠鎴愪负浣犳彁鍗囩紪绋嬫妧鑳界殑鏈夊姏浼欎即銆

『伍』 java中的设计模式有什么作用啊

快速开发

设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类回编目的、代码答设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。
总体来说设计模式分为三大类:
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

『陆』 eclipse怎么进行 可视化java界面设计

进行eclipse可视化java界面设计步骤如下:

阅读全文

与javadesign相关的资料

热点内容
测dna的纯度应该读取哪个数据 浏览:245
怎么验证在qq里边搜的人是真人 浏览:404
erp系统需要什么编程 浏览:916
程序员用语 浏览:177
招标文件研读报告包括内容 浏览:862
系统软件处理数据有哪些好处 浏览:706
flash数据库动态开发专业教程下载 浏览:874
u盘文件被锁怎么消除 浏览:39
前三季度gdp数据广东什么时候公布 浏览:726
ug导出stp文件后显示 浏览:262
struts2文件上传例子 浏览:480
智能粉碎文件名 浏览:625
编程是干什么的适合几岁儿童上 浏览:412
photoshop中文版最新版本 浏览:828
什么app能点播广西卫视 浏览:338
word如何批量放入相应的文件夹 浏览:884
如何在excel一列删除数据 浏览:534
商科学生为什么学编程 浏览:438
压缩文件记录 浏览:967
网上招聘找工作去哪个网站 浏览:276

友情链接