Skip to content

Commit

Permalink
use abstract merge strategy to extract duplicated code
Browse files Browse the repository at this point in the history
  • Loading branch information
syt123450 committed Nov 29, 2018
1 parent 7edd187 commit 5ffa4df
Show file tree
Hide file tree
Showing 13 changed files with 100 additions and 113 deletions.
2 changes: 1 addition & 1 deletion src/layer/abstract/MergedLayer3d.js
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ function MergedLayer3d( config ) {
* Initialized in MergedLayer3d's initStrategy period.
* Applicable strategy: Add3d, Average3d, Concatenate3d, Dot3d, Maximum3d, Multiply3d, Subtract3d.
*
* @type { Object }, Strategy3d
* @type { Object }, MergeStrategy3d
*/

this.operationStrategy = undefined;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@
* @author syt123450 / https://github.com/syt123450
*/

function Strategy1d( mergedElements ) {
function MergeStrategy( mergedElements ) {

this.mergedElements = mergedElements;
this.layerIndex = undefined;

}

Strategy1d.prototype = {
MergeStrategy.prototype = {

setLayerIndex: function( layerIndex ) {

Expand All @@ -25,7 +25,7 @@ Strategy1d.prototype = {

getOutputShape: function() {

return [ 1 ];
return undefined;

},

Expand All @@ -42,4 +42,4 @@ Strategy1d.prototype = {

};

export { Strategy1d };
export { MergeStrategy };
23 changes: 23 additions & 0 deletions src/merge/abstract/MergeStrategy1d.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
/**
* @author syt123450 / https://github.com/syt123450
*/

import { MergeStrategy } from "./MergeStrategy";

function MergeStrategy1d( mergedElements ) {

MergeStrategy.call( this, mergedElements );

}

MergeStrategy1d.prototype = Object.assign( Object.create( MergeStrategy.prototype ), {

getOutputShape: function() {

return [ 1 ];

}

} );

export { MergeStrategy1d };
23 changes: 23 additions & 0 deletions src/merge/abstract/MergeStrategy2d.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
/**
* @author syt123450 / https://github.com/syt123450
*/

import { MergeStrategy } from "./MergeStrategy";

function MergeStrategy2d( mergedElements ) {

MergeStrategy.call( this, mergedElements );

}

MergeStrategy2d.prototype = Object.assign( Object.create( MergeStrategy.prototype ), {

getOutputShape: function() {

return [ 1, 1 ];

}

} );

export { MergeStrategy2d };
23 changes: 23 additions & 0 deletions src/merge/abstract/MergeStrategy3d.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
/**
* @author syt123450 / https://github.com/syt123450
*/

import { MergeStrategy } from "./MergeStrategy";

function MergeStrategy3d( mergedElements ) {

MergeStrategy.call( this, mergedElements );

}

MergeStrategy3d.prototype = Object.assign( Object.create( MergeStrategy.prototype ), {

getOutputShape: function() {

return [ 1, 1, 1 ];

}

} );

export { MergeStrategy3d };
6 changes: 3 additions & 3 deletions src/merge/abstract/StableMerge1d.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@
* @author syt123450 / https://github.com/syt123450
*/

import { Strategy1d } from "./Strategy1d";
import { MergeStrategy1d } from "./MergeStrategy1d";

function StableMerge1d( mergedElements ) {

Strategy1d.call( this, mergedElements );
MergeStrategy1d.call( this, mergedElements );

}

StableMerge1d.prototype = Object.assign( Object.create( Strategy1d.prototype ), {
StableMerge1d.prototype = Object.assign( Object.create( MergeStrategy1d.prototype ), {

validate: function() {

Expand Down
6 changes: 3 additions & 3 deletions src/merge/abstract/StableMerge2d.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@
* @author syt123450 / https://github.com/syt123450
*/

import { Strategy2d } from "./Strategy2d";
import { MergeStrategy2d } from "./MergeStrategy2d";

function StableMerge2d( mergedElements ) {

Strategy2d.call( this, mergedElements );
MergeStrategy2d.call( this, mergedElements );

}

StableMerge2d.prototype = Object.assign( Object.create( Strategy2d.prototype ), {
StableMerge2d.prototype = Object.assign( Object.create( MergeStrategy2d.prototype ), {

validate: function() {

Expand Down
6 changes: 3 additions & 3 deletions src/merge/abstract/StableMerge3d.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@
* @author syt123450 / https://github.com/syt123450
*/

import { Strategy3d } from "./Strategy3d";
import { MergeStrategy3d } from "./MergeStrategy3d";

function StableMerge3d( mergedElements ) {

Strategy3d.call( this, mergedElements );
MergeStrategy3d.call( this, mergedElements );

}

StableMerge3d.prototype = Object.assign( Object.create( Strategy3d.prototype ), {
StableMerge3d.prototype = Object.assign( Object.create( MergeStrategy3d.prototype ), {

validate: function() {

Expand Down
45 changes: 0 additions & 45 deletions src/merge/abstract/Strategy2d.js

This file was deleted.

45 changes: 0 additions & 45 deletions src/merge/abstract/Strategy3d.js

This file was deleted.

10 changes: 7 additions & 3 deletions src/merge/strategy/Concatenate1d.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,18 @@
import { Strategy1d } from "../abstract/Strategy1d";
/**
* @author syt123450 / https://github.com/syt123450
*/

import { MergeStrategy1d } from "../abstract/MergeStrategy1d";

function Concatenate1d( mergedElements ) {

Strategy1d.call( this, mergedElements );
MergeStrategy1d.call( this, mergedElements );

this.strategyType = "Concatenate1d";

}

Concatenate1d.prototype = Object.assign( Object.create( Strategy1d.prototype ), {
Concatenate1d.prototype = Object.assign( Object.create( MergeStrategy1d.prototype ), {

validate: function() {

Expand Down
10 changes: 7 additions & 3 deletions src/merge/strategy/Concatenate2d.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,18 @@
import { Strategy2d } from "../abstract/Strategy2d";
/**
* @author syt123450 / https://github.com/syt123450
*/

import { MergeStrategy2d } from "../abstract/MergeStrategy2d";

function Concatenate2d( mergedElements ) {

Strategy2d.call( this, mergedElements );
MergeStrategy2d.call( this, mergedElements );

this.strategyType = "Concatenate2d";

}

Concatenate2d.prototype = Object.assign( Object.create( Strategy2d.prototype ), {
Concatenate2d.prototype = Object.assign( Object.create( MergeStrategy2d.prototype ), {

validate: function() {

Expand Down
6 changes: 3 additions & 3 deletions src/merge/strategy/Concatenate3d.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,17 @@
* @author syt123450 / https://github.com/syt123450
*/

import { Strategy3d } from "../abstract/Strategy3d";
import { MergeStrategy3d } from "../abstract/MergeStrategy3d";

function Concatenate3d( mergedElements ) {

Strategy3d.call( this, mergedElements );
MergeStrategy3d.call( this, mergedElements );

this.strategyType = "Concatenate3d";

}

Concatenate3d.prototype = Object.assign( Object.create( Strategy3d.prototype ), {
Concatenate3d.prototype = Object.assign( Object.create( MergeStrategy3d.prototype ), {

validate: function() {

Expand Down

0 comments on commit 5ffa4df

Please sign in to comment.