- gban: Ingyen kellene, de tegnapra
- Luck Dragon: Asszociációs játék. :)
- btz: Internet fejlesztés országosan!
- sziku69: Fűzzük össze a szavakat :)
- hcl: Döglött tabletből wifis kijelző kókány
- GoodSpeed: AMD Ryzen 9 9900X (100-100000662WOF)+ Samsung 990 PRO 2TB MZ-V9P2T0BW
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Elektromos rásegítésű kerékpárok
- Kempingezés és sátrazás
- sziku69: Szólánc.
Hirdetés
-
LOGOUT
Új hozzászólás Aktív témák
-
bandi0000
nagyúr
válasz
bandi0000 #19758 üzenetére
Szóval a példa amit kértetek kb így nézne ki:
Egyszerűség kevéért tegyük fel, hogy ez egy Logolós funkció lesz, vár egy string-et,amit tekinthetünk egy TAG-nek, és egy Map-et, amibe bármit belerakunk nyilván egy String lesz a végén
Szóval valahogy így néz ki:
Kotlinba írodott a csoda példám, de talán érthetőTalán már az interactorig értem is így, hogy miért kellett, jó sok mindent lehagytam, szóval tételezhetjük fel, hogy az jó, de ami sötét nekem, hogy miben segít az interactor alatti rész, ugyanis anélkül, hogy a konkrét felhasználáskor ezt csinálnám:
val data = SpecificSecondScreenData()
data.name = "Tag"
SecondScreenLoggerImpl().log(data)
Csinálhatnám szimplán ezt:
PerfLogInteractor().logSecondScreenLogs("TAG",mapOf())
interface ILogger{
fun logFirstScreenLogs(name: String, list: List<Any>)
fun logSecondScreenLogs(name: String, attrs: Map<String, Any>)
}
class LoggerImpl(): ILogger{
//Itt azért sok egyéb dolog van, de a lényegi része ennyi:
override fun logFirstScreenLogs(name: String, list: List<Any>) {
ThirdPartyLogger.getInstance().Log(name, list)
}
override fun logSecondScreenLogs(name: String, attrs: Map<String, Any>) {
ThirdPartyLogger.getInstance().Log(name, attrs)
}
}
class PerfLogHelper(){
private val Logger = LoggerImpl()
fun getInstance() = PerfLogHelper()
fun logFirstScreenLogs(name: String, list: List<Any>){
Logger.logFirstScreenLogs(name,list)
}
fun logSecondScreenLogs(name: String, attrs: Map<String, Any>){
Logger.logSecondScreenLogs(name,attrs)
}
}
//Ez a kettő multi modul miatt kell
interface IPerfLogInteractor{
fun logFirstScreenLogs(name: String, list: List<Any>)
fun logSecondScreenLogs(name: String, attrs: Map<String, Any>)
}
class PerfLogInteractor(): IPerfLogInteractor{
override fun logFirstScreenLogs(name: String, list: List<Any>) {
PerfLogHelper.getInstance().logFirstScreenLogs(name,list)
}
override fun logSecondScreenLogs(name: String, attrs: Map<String, Any>) {
PerfLogHelper.getInstance().logFirstScreenLogs(name,attrs)
}
}class SpecificSecondScreenData(): ISecondScreenData{
override var name: String = "TAG"
override fun getAttrs(): Map<String, Any> {
return mapOf()
}
}
interface ISecondScreenData{
var name: String
fun getAttrs(): Map<String,Any>
}
interface ISecondScreenLogger{
fun log(data: ISecondScreenData)
}
class SecondScreenLoggerImpl(): ISecondScreenLogger{
val interactor: IPerfLogInteractor = PerfLogInteractor()
override fun log(data: ISecondScreenData) {
interactor.logSecondScreenLogs(data.name,data.getAttrs())
}
}
Új hozzászólás Aktív témák
Hirdetés
● olvasd el a téma összefoglalót!
- Tesla topik
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- gban: Ingyen kellene, de tegnapra
- Fejhallgató erősítő és DAC topik
- Korábbi vezetője szerint 40 milliárd dollár kell az Intel versenyképességéhez
- Lexus, Toyota topik
- Villanyszerelés
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Apple asztali gépek
- Fizetős szoftverek ingyen vagy kedvezményesen
- További aktív témák...
- Új HP VICTUS Gamer Tervező Laptop 16,1" -40% Bivaly i7-13700H 14Mag 16GB/1TB RTX 4070 8GB FHD 144Hz
- Samsung Galaxy Watch 6 44mm GPS Fekete
- BESZÁMÍTÁS! Gigabyte Aorus B450 R7 5700X 16GB DDR4 512GB SSD RTX 3060Ti 8GB ZALMAN I3 NEO 650W
- BESZÁMÍTÁS! Asus B550M R9 5900X 32GB DDR4 1TB SSD RTX 4070 SUPER 12GB Be Quiet! Silent Base 601 850W
- BESZÁMÍTÁS! MSI B550M R7 5700X 32GB DDR4 1TB SSD RTX 4070 12GB NZXT H710I Be Quiet 650W
- HIBÁTLAN iPhone 14 Pro Max 256GB Space Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3009
- Azonnali kézbesítés az év bármely pillanatában
- Xiaomi 14T Pro 512GB, Kártyafüggetlen, 1 Év Garanciával
- Bomba ár! Dell Inspiron 15 3511 - i5-11GEN I 8GB I 256SSD I HDMI I 15,6" FHD I Cam I W11 I Gari
- 35" ASUS ROG Swift PG35VQ curved GAMER monitor
Állásajánlatok
Cég: FOTC
Város: Budapest