- Apple iPhone 17 Pro Max – fennsík
- iPhone topik
- Ha Kínában repülsz, és nem ilyen a hordozható töltőd, elveszik a reptéren!
- Samsung Galaxy Watch7 - kötelező kör
- Samsung Galaxy A56 - megbízható középszerűség
- Yettel topik
- Mobil flották
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Samsung Galaxy S22 Ultra - na, kinél van toll?
- Honor Magic6 Pro - kör közepén számok
-
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!
- Apple iPhone 17 Pro Max – fennsík
- Autós topik
- "3D-s" hővezető csövekkel jön a Cooler Master legfrissebb CPU-hűtője
- Luck Dragon: Asszociációs játék. :)
- iPhone topik
- Windowsos tablet topic
- Ha Kínában repülsz, és nem ilyen a hordozható töltőd, elveszik a reptéren!
- Lelövi a Messengert a Facebook Windowson és Macen
- Milyen autót vegyek?
- Samsung Galaxy Watch7 - kötelező kör
- További aktív témák...
- Apple iPhone 15 Pro, 128Gb, független, fekete, 1 év garancia
- AMD Ryzen 5 5600X 6-Core 3.7GHz AM4
- Bomba ár! HP ProBook 430 G3 - i3-6GEN I 4GB I 128SSD I HDMI I 13,3" HD I Cam I W10 I Garancia!
- Bomba ár! HP ProBook 430 G5 - i3-7GEN I 4GB I 128GB SSD I HDMI I 13,3" FHD I Cam I W11 I Garancia!
- Bomba ár! HP EliteBook 845 G11 - Ryzen 5 8540U I 16GB I 512SSD I 14,1" Touch I Cam I W11 I NBD Gari!
- ÁRGARANCIA! Épített KomPhone Ultra 9 285K 64GB RAM RTX 5090 32GB GAMER PC termékbeszámítással
- Telefon felvásárlás!! Samsung Galaxy S25, Samsung Galaxy S25 Plus, Samsung Galaxy S25 Ultra
- 121 - Lenovo Legion Pro 5 (16ARX8) - AMD Ryzen 7 7745HX, RTX 4070 - 4 év garancia
- Akció - Dell Latitude 5400 - i7 8665U, 8-16GB RAM, SSD, EU bill, számla, 6 hó
- Gamer PC-Számítógép! Csere-Beszámítás! R5 3600 / GTX 1080 8GB / 32GB DDR4 / 512 SSD!
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest