Привет. Я Туан Чау, который разрабатывает мобильный клиент для линии приложения для связи.
Эта статья представляет собой 72 -й выпуск серии обмена «Комитетом по рассмотрению». Line Yahoo имеет деятельность под названием Комитет по обзору для поддержания высокой производительности развития. Мы регулярно делимся знаниями, которые мы собираем здесь с нашей компанией, и некоторые из них также публикуются в этом блоге. (Для получения дополнительной информации о отчете комитета по рассмотрению см.Список прошлых статей(Пожалуйста, обратитесь к)
Курица первой или яйцо первой?
Специализируясь на предоставлении фотографийphoto-providerПоказать фотографии в галерее с модулемhome-galleryПредставьте, что есть такой модуль.photo-providerПредположим, вы хотите показать фотографии, представленные в вашей домашней галерее.
Ниже приведен упрощенный код:
photo-providerМодуль:
// PhotoProvider.kt
class PhotoProvider {
fun getPhotos(): List {
// リポジトリから写真を取得
return listOf(HomeGalleryPhotoItem("vacation.jpg", "Summer Vacation", ...))
}
}
// プロバイダーモジュール内のデータモデル
data class HomeGalleryPhotoItem(val fileName: String, val description: String, ...)
home-galleryМодуль:
// build.gradle.kts
dependencies {
implementation(project(":photo-provider"))
}
// HomeGallery.kt (別のモジュール内)
class HomeGallery(private val photoProvider: PhotoProvider) {
fun displayPhotos() {
val photos = photoProvider.getPhotos()
// ホームギャラリーに写真を表示
photos.forEach { renderPhoto(it) }
}
private fun renderPhoto(photo: HomeGalleryPhotoItem) {
// UIで写真をレンダリング
}
}
Есть ли что -то не так с этим кодом?
Круговая зависимость концепций
Проблема таковаPhotoProviderноHomeGalleryPhotoItemопределяет и возвращает этот класс, содержит ссылку на «HomeGaller» на его имя. ЭтотКруговая зависимость концепцийпроисходит.
- Модуль поставщика знает о конкретных пользователях (HomeGallery)
2025-09-04 02:00:00
1757045338
#Методы #улучшения #качества #кода #Концептуальная #циклическая #зависимость #это #курица #первой #или #яйцо #первым
Читайте также
