这就是传说中的设计模式吗?

jinceon 发布于 2011/06/25 03:10
阅读 419
收藏 0
刚学java的人,由于书上的代码比较简单,他们往往不理解接口的好处。
至少当时我是理解不了。
他们会提问:直接声明这个方法不行吗?为什么非要多此一举用个接口呢?
后来稍微看了点【设计模式】的文章,有一丁点的了解。
印象最深刻的就是:【接口的大量使用】。
=====================
以我为例,刚学Java时,我会这样写
ArrayList list = new ArrayList();
后来在学习、阅读别人的代码时,发现别人会这样写
List list=new ArrayList();
别人也没怎么给我解释,就是大概说了下【面向接口编程】这个词。
以后万一要改用LinkedList时,只需在List list = new ArrayList();里改动一下就OK了。
而如果用ArrayList的话,可能需要改动的地方很多。
==================
这个小例子,用的是不是传说中的【桥接模式】?
比如要把User放入ArrayList,不直接让User和ArrayList交换,而是用个List接口。
加载中
0
DreamWorker
DreamWorker
想复杂了,多态么。用一用泛型....
jinceon
jinceon
谢谢,刚看,总想找个例子套进去。
0
Xingjian_Xu
Xingjian_Xu

某年我听到 父类对象引用指向子类对象 这玩意的时候

还觉得怎么可以发明出这么绕口的技术词汇

jinceon
jinceon
那,这就是传说中的【里氏替换原则】?
jinceon
jinceon
我现在依然觉得拗口
0
jinceon
jinceon
这就是传说中的【里氏替换原则】?
0
0
李坤
李坤
是啊!很多东西都这样!
0
繁华似水
繁华似水
想用什么就用什么,遇到问题再解决,下次就知道为什么这样做了,理论结合实际才是最重要的
0
ValueError
ValueError

不同方法论而已嘛,Java 为代表的“契约编程”主张接口约束,将实现抽象成接口。Ruby/Python 为代表的“鸭子类型”就刚好相反,不主张显式约束,避免破坏动态语言灵活性。

0
再见理想
再见理想
这个原则应该属于依赖倒置原则,“应该依赖于抽象,不要依赖与具体”。桥模式:将抽象部分与它的实现部分分离,使他们都可以独立地变化。属于对象结构型模式,主要讲实体抽象结构,不是你Client端调用的事。作为你client端,能调用接口(抽象)就不要调用实体类(具体实现),这是基本原则,是面向对象多态性的重点应用
返回顶部
顶部