Skip to content

Commit

Permalink
Move code to ES2015
Browse files Browse the repository at this point in the history
- Adapter
- Chaining
- Command
- Composite
- CompositeIterator/1
  • Loading branch information
tcorral committed Apr 19, 2016
1 parent eebff83 commit c2f86b5
Show file tree
Hide file tree
Showing 76 changed files with 839 additions and 771 deletions.
31 changes: 31 additions & 0 deletions .gitignore
@@ -0,0 +1,31 @@
### Node template
# Logs
logs
*.log
npm-debug.log*

# Runtime data
pids
*.pid
*.seed

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage

# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# node-waf configuration
.lock-wscript

# Compiled binary addons (http://nodejs.org/api/addons.html)
build/Release

# Dependency directory
# https://docs.npmjs.com/misc/faq#should-i-check-my-node-modules-folder-into-git
node_modules

# Created by .ignore support plugin (hsz.mobi)
9 changes: 0 additions & 9 deletions Adapter/Duck.js

This file was deleted.

10 changes: 0 additions & 10 deletions Adapter/MallardDuck.js

This file was deleted.

9 changes: 0 additions & 9 deletions Adapter/Turkey.js

This file was deleted.

16 changes: 0 additions & 16 deletions Adapter/TurkeyAdapter.js

This file was deleted.

10 changes: 0 additions & 10 deletions Adapter/WildTurkey.js

This file was deleted.

54 changes: 21 additions & 33 deletions Adapter/index.html
@@ -1,20 +1,19 @@
<html>
<head>
<head>
<link type="text/css" rel="stylesheet" href="../css/style.css"/>
<title>Adapter Pattern</title>
<script type="text/javascript" src="Duck.js"></script>
<script type="text/javascript" src="Turkey.js"></script>
<script type="text/javascript" src="MallardDuck.js"></script>
<script type="text/javascript" src="WildTurkey.js"></script>
<script type="text/javascript" src="TurkeyAdapter.js"></script>
</head>
<body>
<div id="source">
<h2>Source</h2>
</head>
<body>
<div id="source">
<h2>Source</h2>
<pre>
var oMallardDuck = new MallardDuck();
var oWildTurkey = new WildTurkey();
var oTurkeyAdapter = new TurkeyAdapter(oWildTurkey);
import MallardDuck from './MallardDuck';
import WildTurkey from './WildTurkey';
import TurkeyAdapter from './TurkeyAdapter';

let oMallardDuck = new MallardDuck();
let oWildTurkey = new WildTurkey();
let oTurkeyAdapter = new TurkeyAdapter(oWildTurkey);

oMallardDuck.fly();
oMallardDuck.quack();
Expand All @@ -25,26 +24,15 @@ <h2>Source</h2>
oTurkeyAdapter.fly();
oTurkeyAdapter.quack();
</pre>
</div>
<div id="console">
<h2>Console</h2>
<ul></ul>
<h1>ADAPTER</h1>
</div>
<script type="text/javascript" src="../js/utils.js"></script>
<script type="text/javascript">
var oMallardDuck = new MallardDuck();
var oWildTurkey = new WildTurkey();
var oTurkeyAdapter = new TurkeyAdapter(oWildTurkey);

oMallardDuck.fly();
oMallardDuck.quack();
</div>
<div id="console">
<h2>Console</h2>
<ul></ul>
<h1>ADAPTER</h1>
</div>

oWildTurkey.fly();
oWildTurkey.gobble();

oTurkeyAdapter.fly();
oTurkeyAdapter.quack();
</script>
</body>
<script type="text/javascript" src="../js/utils.js"></script>
<script type="text/javascript" src="dist/scripts/main.js"></script>
</body>
</html>
12 changes: 12 additions & 0 deletions Adapter/scripts/Duck.js
@@ -0,0 +1,12 @@
class Duck {
constructor() {}

fly() {
throw new Error('This method must be overwritten!');
}
quack() {
throw new Error('This method must be overwritten!');
}
}

export default Duck;
12 changes: 12 additions & 0 deletions Adapter/scripts/MallardDuck.js
@@ -0,0 +1,12 @@
import Duck from './Duck';

class MallardDuck extends Duck {
fly() {
console.log('Can fly long distances!');
}
quack() {
console.log('Quack! Quack!');
}
}

export default MallardDuck;
10 changes: 10 additions & 0 deletions Adapter/scripts/Turkey.js
@@ -0,0 +1,10 @@
class Turkey {
fly() {
throw new Error('This method must be overwritten!');
}
gobble() {
throw new Error('This method must be overwritten');
}
}

export default Turkey;
19 changes: 19 additions & 0 deletions Adapter/scripts/TurkeyAdapter.js
@@ -0,0 +1,19 @@
import Duck from './Duck';

class TurkeyAdapter extends Duck{
constructor(oTurkey) {
super(oTurkey);
this.oTurkey = oTurkey;
}
fly() {
for(let index = 0, maxFly = 5; index < maxFly; index++) {
this.oTurkey.fly();
}
}

quack() {
this.oTurkey.gobble();
}
}

export default TurkeyAdapter;
12 changes: 12 additions & 0 deletions Adapter/scripts/WildTurkey.js
@@ -0,0 +1,12 @@
import Turkey from './Turkey';

class WildTurkey extends Turkey {
fly() {
console.log('Fly short distance!');
}
gobble() {
console.log('Gobble!, Gobble!');
}
}

export default WildTurkey;
16 changes: 16 additions & 0 deletions Adapter/scripts/main.js
@@ -0,0 +1,16 @@
import MallardDuck from './MallardDuck';
import WildTurkey from './WildTurkey';
import TurkeyAdapter from './TurkeyAdapter';

let oMallardDuck = new MallardDuck();
let oWildTurkey = new WildTurkey();
let oTurkeyAdapter = new TurkeyAdapter(oWildTurkey);

oMallardDuck.fly();
oMallardDuck.quack();

oWildTurkey.fly();
oWildTurkey.gobble();

oTurkeyAdapter.fly();
oTurkeyAdapter.quack();
15 changes: 0 additions & 15 deletions Chaining/Chainable.js

This file was deleted.

7 changes: 1 addition & 6 deletions Chaining/index.html
Expand Up @@ -2,7 +2,6 @@
<head>
<link type="text/css" rel="stylesheet" href="../css/style.css"/>
<title>Chain Pattern</title>
<script type="text/javascript" src="Chainable.js"></script>
</head>
<body>
<div id="source">
Expand All @@ -19,10 +18,6 @@ <h2>Console</h2>
<h1>Chain</h1>
</div>
<script type="text/javascript" src="../js/utils.js"></script>
<script type="text/javascript">
var oChainable = new Chainable();
// This must return "21"
console.log(oChainable.add(3).add(4).multiply(3).toString());
</script>
<script type="text/javascript" src="dist/scripts/main.js"></script>
</body>
</html>
21 changes: 21 additions & 0 deletions Chaining/scripts/Chainable.js
@@ -0,0 +1,21 @@
class Chainable {
constructor() {
this.number = 0;
}

add(number) {
this.number += number;
return this;
}

multiply(number) {
this.number *= number;
return this;
}

toString() {
return this.number.toString();
}
}

export default Chainable;
5 changes: 5 additions & 0 deletions Chaining/scripts/main.js
@@ -0,0 +1,5 @@
import Chainable from './Chainable';

var oChainable = new Chainable();
// This must return "21"
console.log(oChainable.add(3).add(4).multiply(3).toString());
6 changes: 0 additions & 6 deletions Command/1/Command.js

This file was deleted.

11 changes: 0 additions & 11 deletions Command/1/Light.js

This file was deleted.

8 changes: 0 additions & 8 deletions Command/1/LightOnCommand.js

This file was deleted.

9 changes: 0 additions & 9 deletions Command/1/SimpleRemoteControl.js

This file was deleted.

0 comments on commit c2f86b5

Please sign in to comment.