Hirdetés
- Derült égből villámcsapás: vége a Ford elektromos kalandjának
- Januártól igényelhető a kiskorúak tartalomvédelme a mobilszolgáltatóknál
- Korai iOS árulkodik arról, milyen eszközök várhatók az Apple-től a közeljövőben
- Névlegesen nyer üzemidőcsatát a Honor új szériája
- Decembertől kapható itthon a Baseus Inspire szériája
- BlitzWolf termékek topicja
- Samsung Galaxy A55 - új év, régi stratégia
- Xiaomi 15T Pro - a téma nincs lezárva
- Vivo X300 - kicsiben jobban megéri
- Xiaomi 15 - kicsi telefon nagy energiával
- Netfone
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- iPhone topik
- Youtube Android alkalmazás alternatívák reklámszűréssel / videók letöltése
- Megbüntették, ezért feloszlatná az EU-t Elon Musk
-
Mobilarena

Ú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!
- BlitzWolf termékek topicja
- Fel kell készülnünk a 2G kivezetésére
- Sony MILC fényképezőgépcsalád
- Jövedelem
- Scalperektől félti RAM moduljait a Framework
- Kamionok, fuvarozás, logisztika topik
- Formula-1
- sziku69: Fűzzük össze a szavakat :)
- World of Warships
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- További aktív témák...
- MSI MAG 271QPX QD-OLED Gamer Monitor!27"/2k/360hz/0,03MS/G-sync -Freesync/Konzolhoz is!Beszámítok!
- MSI MAG 321UPX QD-OLED Gamer Monitor!32"/4k/240hz/0,03MS/G-sync -Freesync/Konzolhoz is!Beszámítok!
- Macbook Air 2017. (1,8ghz 8gb 128gb)
- Intel Core I7 11700K BOX
- Samsung Galaxy S24 256GB, Kártyafüggetlen, 1 Év Garancia
- Mac Mini M4 AZONNAL 16GB 256GB 1 év gar
- Apple iPhone 13 Mini 128GB,Újszerű,Adatkabel,12 hónap garanciával
- Bomba ár! Dell Latitude E6220 - i7-2GEN I 8GB I 128SSD I 12,5" HD I HDMI I Cam I W10 I Garancia!
- Keresünk Galaxy S23/S23+/S23 Ultra/S23 Fe
- LG 83B4 - 83" OLED - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox Ready
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: ATW Internet Kft.
Város: Budapest



