Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // 1. singleton based
- import Mailer;
- class RegistrationForm {
- public void register() {
- Mailer.getInstance().sendEmail(...);
- assert(typeof(Mailer.getInstance()) === 'ImapMailer');
- }
- }
- // 2. service locator based
- import Mailer;
- class RegistrationForm {
- public void register() {
- // application is global var
- application.get('mailer').sendEmail(...);
- assert(typeof(application.get('mailer')) === 'ImapMailer');
- }
- }
- // 3. service container + dependency injection based
- import Mailer;
- class RegistrationForm {
- private Mailer mailer;
- public RegistrationForm(Mailer m) {
- this.mailer = m;
- }
- public void register() {
- this.mailer.sendEmail(...);
- assert(typeof(this.mailer) === 'ImapMailer');
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment