- Xiaomi 14T Pro - teljes a család?
- Apple iPhone 16 Pro - rutinvizsga
- Apple iPhone Air - almacsutka
- Poco F7 – bajnokesélyes
- iPhone topik
- Google Pixel topik
- Farmerbe öltözik a Redmi Pro Max
- Samsung Galaxy S24 - nos, Exynos
- Samsung Galaxy Watch7 - kötelező kör
- Apple AirPods Pro (2. generáció) - csiszolt almaságok
-
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!
- Jövedelem
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Luck Dragon: Asszociációs játék. :)
- Xiaomi 14T Pro - teljes a család?
- Gumi és felni topik
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Háztartási gépek
- Semmibe veszi a KRESZ-t a Tesla Mad Max módja
- Okos Otthon / Smart Home
- AMD GPU-k jövője - amit tudni vélünk
- További aktív témák...
- Evolv Shift 2 Air / X570 ITX / Ryzen 5800X / Radeon 5700XT 8GB / 32 GB DDR4 / 1 TB SSD
- Lenovo ThinkPad P1 Gen 3 i9-10885H (max 5,3GHz) / 32GB / 1TB SSD FHD Win11
- Latitude 5440 14" FHD IPS i5-1345U 16GB 512GB NVMe ujjlolv IR kam gar
- Google Pixel 10 256GB rom, 12 GB ram eladó
- Monitor tartó / állvány - AlzaErgo ErgoArm S35B
- Designer 4K Monitor - BenQ PD-2700-U
- BESZÁMÍTÁS! ASUS PRIME H510M i5 10400F 16GB DDR4 512GB SSD RX 6600 XT 8GB Chieftech BD-25B 600W
- BESZÁMÍTÁS! Apple Macbook Pro 16" 2019 i9 64GB 512GB 5500M macbook garanciával hibátlan működéssel
- Hp Zbook 15 G5 15,6" FHD/ i7-8850H, 32GB, 512GB SSD, Quadro P2000, Magyar- Win11
- iKing.Hu - HONOR 400 Lite 5G Velvet Grey Vékony, könnyű, AI-kameragomb 8/256 GB- 2027. 07. 01
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest