Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AngularJS in Patterns, lightning talk

Minko Gechev
February 25, 2015

AngularJS in Patterns, lightning talk

Minko Gechev

February 25, 2015
Tweet

More Decks by Minko Gechev

Other Decks in Programming

Transcript

  1. Minko Gechev [ "Freelance software developer", “Assistant Professor at Sofia

    University", { "Open Source Advocate": [ "AngularJS Style Guide", "AngularAOP", "plainvm", "angular-webrtc", "a bunch of deprecated software" ], "Currently": [ "Based in San Mateo, California", "Works with LearnCapital" ] }, "SofiaJS & BeerJS, Bulgaria" ] github.com/mgechev twitter.com/mgechev
  2. Content • What is “AngularJS in Patterns?” • Why talking

    about this? • Why that approach? • A few patterns
  3. “An academic paper, which introduces AngularJS in terms of already

    known concepts such as design and architectural patterns”
  4. –docs.angularjs.org “Framework - a particular implementation of a web application,

    where your code fills in the details. The framework is in charge and it calls into your code when it needs something app specific. E.g., angularjs, knockout, ember, etc.”
  5. Each developer must have… • Software engineering skills, including: •

    Software development principles (GRASP, SOLID, etc.) • Software design & architectural patterns • Computer Science skills, including: • Complexity analysis • Algorithms and data structures
  6. Each developer must have… • Software engineering skills, including: •

    Software development principles (GRASP, SOLID, etc.) • Software design & architectural patterns • Computer Science skills, including: • Complexity analysis • Algorithms and data structures
  7. As software developers we already know most of the frameworks

    by being aware of the traditional design and architectural patterns
  8. The chain-of-responsibility pattern is a design pattern consisting of a

    source of command objects and a series of processing objects. Each processing object contains logic that defines the types of command objects that it can handle; the rest are passed to the next processing object in the chain.
  9. The observer pattern is a software design pattern in which

    an object, called the subject, maintains a list of its dependents, called observers, and notifies them automatically of any state changes, usually by calling one of their methods.
  10. The Active Record object is an object, which carries both

    data and behavior. Usually most of the data in these objects is persistent, responsibility of the Active Record object is to take care of the communication with the database in order to create, update, retrieve or delete the data. It may delegate this responsibility to lower level objects but calls to instance or static methods of the active record object cause the database communication.
  11. References • AngularJS Inheritance Patterns • The magic of $resource

    (or simply a client-side Active Record) • AngularJS in Patterns • Patterns of Enterprise Application Architecture • Design Patterns: Elements of Reusable Object- Oriented Software