Skip to content

Instantly share code, notes, and snippets.

@philmander
Last active January 19, 2016 14:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save philmander/4422034 to your computer and use it in GitHub Desktop.
Save philmander/4422034 to your computer and use it in GitHub Desktop.
First inverted intro with no dependency injection
// movies/movie-lister.js
define(["movies/json-movie-finder"], function(MovieFinder) {
var MovieLister = function() {
//hard coded dependency
this.movieFinder = new MovieFinder();
};
MovieLister.prototype.showMovies = function(query) {
var keywords = query.split(" ");
var movieResult = this.movieFinder.getMovies(keywords);
movieResult.done(function() {
movies.forEach(function(movie) {
console.log(movie.title);
});
});
};
return MovieLister;
});
// movies/json-movie-finder.js
define(["jsonp"], function(jsonP) {
var JsonMovieFinder = function() {
this.jsonpUrl = "http://jsonp.movies.com/movies";
};
JsonMovieFinder.prototype.getMovies = function(keywords) {
var result = jsonP.getJson(this.jsonUrl, {
keywords: keywords || ""
});
return result;
};
return JsonMovieFinder;
});
// movie-app.js
require(["movies/movie-lister"], function(MovieLister) {
var movieLister = new MovieLister();
movieLister.showMovies("thriller");
});
@noscripter
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment