architecture

MVVM pattern, Clean Architecture, Repository pattern, dependency injection, SOLID principles.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "architecture" with this command: npx skills add pluginagentmarketplace/custom-plugin-android/pluginagentmarketplace-custom-plugin-android-architecture

App Architecture Skill

Quick Start

MVVM Pattern

@HiltViewModel
class UserViewModel @Inject constructor(
    private val repository: UserRepository
) : ViewModel() {
    private val _state = MutableLiveData<UiState>()
    val state: LiveData<UiState> = _state
    
    fun loadUser(id: Int) {
        viewModelScope.launch {
            _state.value = repository.getUser(id)
        }
    }
}

Repository Pattern

interface UserRepository {
    suspend fun getUser(id: Int): User
}

class UserRepositoryImpl(
    private val dao: UserDao,
    private val api: UserApi
) : UserRepository {
    override suspend fun getUser(id: Int): User {
        return dao.getUser(id) ?: api.fetchUser(id)
    }
}

Dependency Injection (Hilt)

@Module
@InstallIn(SingletonComponent::class)
object RepositoryModule {
    @Provides
    fun provideUserRepository(dao: UserDao, api: UserApi): UserRepository {
        return UserRepositoryImpl(dao, api)
    }
}

Key Concepts

MVVM Benefits

  • Lifecycle awareness
  • Configuration change handling
  • Separation of concerns
  • Testability

Clean Architecture Layers

  • Domain: Business rules
  • Application: Use cases
  • Presentation: UI
  • Infrastructure: Data sources

SOLID Principles

  • S: Single Responsibility
  • O: Open/Closed
  • L: Liskov Substitution
  • I: Interface Segregation
  • D: Dependency Inversion

Best Practices

✅ Dependency injection ✅ Interface-based design ✅ Layered architecture ✅ Single responsibility ✅ Testable code

Resources

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

production

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

networking

No summary provided by upstream source.

Repository SourceNeeds Review