- Csillagfelhő áztatná el Elon Musk űrkarneválját
- AMD-s AI-ra építenek az ASUS üzleti portfóliójának új egybegépei
- Rejtély az űr csendjében: ezért kellett kimenekíteni az Űrállomás csapatát
- Kipukkadt a videós AI lufi? A Sora elkaszálása csak a kezdet
- A jövőben egy új foglalat több CPU-generációt is kiszolgál majd az Intelnél
- Intel Core Ultra 3, Core Ultra 5, Ultra 7, Ultra 9 "Arrow Lake" LGA 1851
- Tiszta szolárium: élőben brutális a TLC új SQD-Mini LED-es csúcsmodellje
- Milyen monitort vegyek?
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Kezdő fotósok digitális fényképei
- Milyen videókártyát?
- A jövőben egy új foglalat több CPU-generációt is kiszolgál majd az Intelnél
- Windows 11: miért nem vált mindenki?
- Apple MacBook
- OLED TV topic
-
PROHARDVER!

Ú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!
- Apple iPhone 16 Pro - rutinvizsga
- LEGO klub
- Steam topic
- Battlefield 6
- Intel Core Ultra 3, Core Ultra 5, Ultra 7, Ultra 9 "Arrow Lake" LGA 1851
- Napelem
- Mozilla Thunderbird
- Tiszta szolárium: élőben brutális a TLC új SQD-Mini LED-es csúcsmodellje
- Milyen monitort vegyek?
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- További aktív témák...
- Okosóra felvásárlás!! Samsung Galaxy Watch 5 Pro, Samsung Galaxy Watch 6 Classic
- HP ELITE 8000 SFF PC: passzív VGA HDMI, C2D E8400 + 4GB RAM
- AKCIÓ! Intel Core i9 11900KF 8 mag 16 szál processzor garanciával hibátlan működéssel
- Eladó Samsung Galaxy A12 4/64GB fekete / 12 hónap jótállás
- Új Kipsta agility 100 focicipő (43-as)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


