Re: [戰] getter / setter
先舉一個例子,雖然猴大已經舉過了
有一個 class Person
對應 method 如下
void setName(String name);
void setName(String name, Locale locale);
String getName();
String getName(Locale locale);
我們可以用如以下方式使用
//從資源庫取一個Person instance
Person person = Repository.create(Person.class);
person.setName("myNameByDefault");
person.setName("myNameByEnglish",Locale.UK);
//把Person存取到持久層
Repository.save(person);
從以上來例子看...我們知道一個 Person 有名字,而且可以有多個語系的名字
如果我們把 getter/setter 拿掉,所有使用Person這個class的人,都需要知道
這個class裡面複雜的架構... 但是這是不必要的,我們只要知道,Person有Name
而且是多國語系,這樣就好了。
這應該是 Java 語言本身就很強調的... 抽象化的概念?
當然,如果一個class只是個data structure (或稱作簡單的Java bean?),
且class裡面的每一個member都必須是可以被外部class可以access的,
我也覺得 getter/setter 在這種情況是多餘的
(這種情況意指這個class並沒有做任何商業邏輯)
: → Lordaeron:我已經說過, 我看過的PROJECT 都是一堆get/set 03/12 16:04
: → Lordaeron:請問@f先生還要問什麼呢?CODE 又不止我寫的,有問題? 03/12 16:06
: → Lordaeron:而我往往只負責收尾,只是看到一堆GET/SET很好笑. 03/12 16:08
L大所述 "只會一直無意義get/set很XX",
L大說法換個說法應該是說 "只會無腦寫程式的人很XX"
這種說法有點弔詭... 我們假設世界上真的有無腦的工程師
既然他們不會動腦,那他們職位可能就是猴大所述的"工人"
既然不會動腦,那何來getter/setter呢?
想必是照著leader開出的規格寫的
所以如果真的是XX,那應該也是上面的人XX,而不是這群工人XX吧?
就好像設蓋房子一開始設計圖就畫錯了,結果卻怪罪底下的工人亂做一通一樣...
我們是軟體工程師 (好啦也許只有我是...)
我們可以根據不同的情況找出不同的解法
既然在某些請況真的不適合使用 getter/setter
那可以跟當初的定規則的人討論,提出看法或解法
而不是在那邊說 "很可笑,很白X",不是嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.193.201.124
推
03/12 22:29, , 1F
03/12 22:29, 1F
推
03/13 00:09, , 2F
03/13 00:09, 2F
→
03/13 00:10, , 3F
03/13 00:10, 3F
→
03/13 00:11, , 4F
03/13 00:11, 4F
推
03/13 02:27, , 5F
03/13 02:27, 5F
→
03/13 12:24, , 6F
03/13 12:24, 6F
→
03/13 12:25, , 7F
03/13 12:25, 7F
→
03/13 12:26, , 8F
03/13 12:26, 8F
→
03/13 12:26, , 9F
03/13 12:26, 9F
→
03/13 12:28, , 10F
03/13 12:28, 10F
→
03/13 12:29, , 11F
03/13 12:29, 11F
→
03/13 13:16, , 12F
03/13 13:16, 12F
→
03/13 13:19, , 13F
03/13 13:19, 13F
→
03/13 13:43, , 14F
03/13 13:43, 14F
→
03/13 13:46, , 15F
03/13 13:46, 15F
→
03/13 13:53, , 16F
03/13 13:53, 16F
→
03/13 13:55, , 17F
03/13 13:55, 17F
→
03/13 14:17, , 18F
03/13 14:17, 18F
→
03/13 14:18, , 19F
03/13 14:18, 19F
→
03/13 14:19, , 20F
03/13 14:19, 20F
→
03/13 14:27, , 21F
03/13 14:27, 21F
推
03/13 14:28, , 22F
03/13 14:28, 22F
→
03/13 14:29, , 23F
03/13 14:29, 23F
→
03/13 14:31, , 24F
03/13 14:31, 24F
→
03/13 14:35, , 25F
03/13 14:35, 25F
→
03/13 14:51, , 26F
03/13 14:51, 26F
→
03/13 14:53, , 27F
03/13 14:53, 27F
→
03/13 14:55, , 28F
03/13 14:55, 28F
推
03/13 14:58, , 29F
03/13 14:58, 29F
推
03/13 14:59, , 30F
03/13 14:59, 30F
→
03/13 14:59, , 31F
03/13 14:59, 31F
→
03/13 15:00, , 32F
03/13 15:00, 32F
推
03/13 15:20, , 33F
03/13 15:20, 33F
→
03/13 15:20, , 34F
03/13 15:20, 34F
→
03/13 15:37, , 35F
03/13 15:37, 35F
→
03/13 15:51, , 36F
03/13 15:51, 36F
討論串 (同標題文章)
java 近期熱門文章
PTT數位生活區 即時熱門文章