IT界討論區(40) 放咗工吹咩IT呀, 我想打機呀
i-vtec 2018-8-31 09:17:37 初心者18k唔錯啦

Ads

屌埋你果份 2018-8-31 09:18:48
:^(
蒼月A 2018-8-31 09:18:58 啱呀
但so far可能全個it討論區都係有女
:^(
Trinidad 2018-8-31 09:20:03 真膠
:^(
個腦一片空白咁
巴打唔打丁 2018-8-31 09:20:47 請我返去慢慢教你
:^(
:^(
:^(
:^(
i-vtec 2018-8-31 09:38:32 討論區變哂質
i-vtec 2018-8-31 09:40:47 假毒IT討論區(40)
實驗羊 2018-8-31 10:49:13 其實你呢啲問題自己都試到⋯⋯
唔講是咁的 2018-8-31 10:51:39 我唔計thread safety問題因為我一直都唔會用multithread
:^(


個人認為helper同extension 是用static class的原因是不涉及狀態

singleton單例呢 其實係一種服務
例如一個快取, 一條事件隊列
佢地有一個全局性既角色但不應有全局性存取
正確做法是將依賴從建構子注入

開發者絕對唔希望一個全局性state比一個唔知邊位既物件亂咁存取
容易引起違反最小負責原則
唔洗幾日static class就已經造就上帝物件既創世紀
從止踏上意大利廚師之路
:^(
➿➿➿➿ 2018-8-31 10:54:15
:^(
唔講是咁的 2018-8-31 10:56:56 總之singleton只要係globally accessible就係anti pattern

Ads

手一黏便緊(UTC+9 2018-8-31 11:01:14 點解你地會係到討論點為之singleton
:^(

系統設計係應該諗點最貼合use case 而唔係套現成方法論
方法論唔應該係對未來指引 而係對過去既總結
最好係你有個初步設計之後 先再回顧下啲方法論睇下有冇甩漏
而唔係一開波就套個方法論再去格硬改到合你use case
屌埋你果份 2018-8-31 11:02:24
:^(
広重 2018-8-31 11:05:31 一句都睇唔明, 可以名正言順做老屎忽

利申: 衝出嚟柒
手一黏便緊(UTC+9 2018-8-31 11:06:08 我諗佢想講 正確(存取)做法是將依賴從(使用者既)建構子注入(對singleton既依賴)
植樹林 2018-8-31 11:06:39 static 係好多種語言係一個 keyword。
Singleton 係一種概念。

兩者都唔知點比較。
:^(


見到你地好似講 static class,我就提吓我識嘅 C++ 同 Java。
C++ 而言,冇 static class;
Java 而言,得 nested class 可以 declare 做 static,情況就如 static member method、static member variable。

我而家做嘢呢邊就有用 DI 嘅,啲 constant 就古古怪怪有兩種方法存取。
一係就 getter/setter,咁樣就要拎番個 object(instance) 出來 call 番 getter 先拎得番。
一係就 declare 咗做 public static member variable,之後就簡簡單單搵留個名出來就用到,例如ClassFoo.ConstantBar。
手一黏便緊(UTC+9 2018-8-31 11:08:44 白話黎講 所有人唔應該用global variable access singleton 而係應該用自己既local variable
而個local variable既value係係constructor到由constructor caller assign
唔講是咁的 2018-8-31 11:16:33 巴打中文滿分 我決定以身相許
:^(
HSME 2018-8-31 11:20:56
:^(
植樹林 2018-8-31 11:21:01 好似講漏咗啲關鍵字
:^(


static member variable 一般都係用來 declare constant 多。
用到 static 嘅另外一個情況(C++/Java而言)就係用來寫 helper class 居多,將 helper class 嘅所有 method declare 做 static。

Singleton 放係 static member variable 唔係唔得,你要諗邊個負責 initialize,邊個負責裝住個 instance 囉。Singleton 自己起番自己個 instance 做 public static member variable 會有少少亂嘛。
植樹林 2018-8-31 11:24:18 Database 不等同 SQL。
其餘睇唔明噏乜。

有咩數唔可以公開改?你老闆包二奶條數?

Ads

HSME 2018-8-31 11:29:24 真心唔識 想問做野幾時用得到個singleton
Trinidad 2018-8-31 11:31:14 申手黨
:^(

其實病咗冇返工冇得code
:^(
順便上黎r下吹
:^(
難得有人一齊討論
HSME 2018-8-31 11:33:39 伸手+1 明左個理論 但係完全分唔清自己有冇用到
:^(
手一黏便緊(UTC+9 2018-8-31 11:36:14 唔會用到

你應該做既係 遵守oop既封裝同抽象原則
遵守左之後你就會發現自己無啦啦整左singleton出黎 如果你個對象真係應該得一千零一個