Hirdetés
- gban: Ingyen kellene, de tegnapra
- hcl: Google Drive csatolása szerveren / Nextcloud integráció
- petipetya: Nagy chili topic. :)
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Ketogén étrend
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- talmida: My Art II.
- eBay-es kütyük kis pénzért
- Ndruu: Segíts kereshetővé tenni a PH-s arcképeket!
-
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
● olvasd el a téma összefoglalót!
- Kész rémálom lesz Linuxot használni jövőre az USA egyes államaiban
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- TCL LCD és LED TV-k
- Gamepad
- MWC 2026: Bajnoki címre pályázik a Xiaomi Watch 5
- Metal topik
- OLED monitor topic
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- További aktív témák...
- Samsung SyncMaster EX2220 Monitor kisfogyasztású Full HD LED monitor
- Bivaly erős 10 magos Dell Latitude 5430 (12.gen Core I7 32Gb DDR4 512Gb SSD) laptopom eladó!
- Apple Watch Ultra 2 Natur Titanium, Alpine Loop szíj, még 9 hó gari Emag vásárlás
- Zalman CNPS7700 Al-Cu LGA 775 CPU hűtő
- ROG STRIX B550-I GAMING - CSOMAGKEDVEZMÉNY ELÉRHETŐ
- BESZÁMÍTÁS! 2TB Samsung 990 PRO NVMe SSD meghajtó garanciával hibátlan működéssel
- BESZÁMÍTÁS! ASUS X670E R7 9800X3D 32GB DDR5 1TB SSD RTX 4080 16GB Lian Li O11 Dynamic EVO RGB 850W
- GYÖNYÖRŰ iPhone 14 Pro Max 128GB Space Black - 1 ÉV GARANCIA -Kártyafüggetlen, MS4332
- Számlás!Windows 10 Pro 11 Pro,Windows 10 Home 11 Home, Office 2016,2019,2021 ,Vírusirtok,Mac
- LG 65C3 - 65" OLED evo - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

