Skip to content

Instantly share code, notes, and snippets.

View josedlpozo's full-sized avatar
🏠
Working from home

Jose del Pozo josedlpozo

🏠
Working from home
View GitHub Profile
@josedlpozo
josedlpozo / ProfessorsListView.java
Created March 1, 2017 14:51
Simple Java View Interface
public interface ProfessorsListView {
void showProfessors(ProfessorsViewModel professors);
void goToProfessorDetail(ProfessorViewModel professor);
}
@josedlpozo
josedlpozo / ProfessorsListView.kt
Created March 1, 2017 15:07
'Koltin mutante interface'
interface ProfessorsListView : LoadingView {
val adapter: Adapter<ProfessorViewModel>
val ctx: Context
fun showProfessors(professors: ProfessorsViewModel) {
adapter.clearAll()
adapter.addAll(professors)
adapter.notifyDataSetChanged()
}
@josedlpozo
josedlpozo / SubjectsListView.kt
Created March 1, 2017 19:46
'Kotlin mutante subjects interface'
interface SubjectsListView : LoadingView {
val adapter: Adapter<SubjectViewModel>
val ctx: Context
fun showSubjects(subjects: SubjectsViewModel) {
adapter.clearAll()
adapter.addAll(subjects)
adapter.notifyDataSetChanged()
}
@josedlpozo
josedlpozo / ListView.kt
Created March 1, 2017 19:50
ListView interface
interface ListView<T> : LoadingView {
val adapter: Adapter<in T>
fun showItems(items: Iterable<T>) {
adapter.clearAll()
adapter.addAll(items)
adapter.notifyDataSetChanged()
}
@josedlpozo
josedlpozo / ProfessorsListViewAfter.kt
Created March 1, 2017 19:51
ProfessorListView After Refactor
interface ProfessorsListView : ListView<ProfessorViewModel> {
val ctx: Context
fun showProfessors(professors: ProfessorsViewModel) {
showItems(professors)
}
fun showMoreProfessors(professors: ProfessorsViewModel) {
showMoreItems(professors)
import Foundation
private protocol ProfessorsModuleAssembler {
func resolve() -> ProfessorsViewController
func resolve() -> ProfessorsInteractorInput
func resolve() -> ProfessorsPresenter
func resolve() -> ProfessorsRouterProtocol
}
protocol ProfessorsModule {
func resolve() -> ProfessorsViewController
import Foundation
import UIKit
protocol CommonAssembler {
func resolve() -> LocalRepository
func resolve() -> ProfessorRepository
func resolve() -> SubjectRepository
func resolve() -> CareerRepository
import Foundation
import UIKit
protocol CommonAssembler {
func resolve() -> LocalRepository
func resolve() -> ProfessorRepository
func resolve() -> SubjectRepository
func resolve() -> CareerRepository
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile "org.jetbrains.anko:anko-sdk15:0.9.1"
}
allprojects {
repositories {
jcenter()
maven {
url "http://dl.bintray.com/kotlin/kotlin-eap-1.1"
}
mavenCentral()
maven { url "https://jitpack.io" }
maven { url 'https://maven.fabric.io/public' }
maven { url 'https://github.com/uPhyca/stetho-realm/raw/master/maven-repo' }