If you can't read please download the document
Upload
tomomasakura
View
1.444
Download
1
Embed Size (px)
Citation preview
Strategy/
codeArts
?
...
F1!
!
F1!
!
?
?
GoF (Gang of Four; ) 4GoF423Wikipedia
?
(GoF)Wikipedia
?
...
?
?()!
!
?
?
...
!
!
!
A!
AA!
ABOCCO!
ABOCCO!...BOCCO!...
A!BOCCO(...)!
BOCCO
(...)
/** * * @param nodePath {String} */function displayRecursive(nodePath) { console.log(nodePath);
// var stat = fs.statSync(nodePath);
if (stat.isDirectory()) { // // var children = fs.readdirSync(nodePath); children.forEach(function (child) { displayRecursive(path.join(nodePath, child)); }); }}
displayRecursive(process.argv[2]);
A
$ node a.js ./././a.js./hoge./hoge/hoge.txt./hoge/README.md
A!
A!BOCCO!BOCCO!!
B
B
B
BBOCCOBOCCO!!
B
BOCCO(A...)BOCCO(...)
B
/** * * @param nodePath {String} * @param options {Object} */function displayRecursive(nodePath, options) { var line = '';
if (options && options.lineNumber) { // line += options.lineNumber + ': '; options.lineNumber++; }
line += nodePath;
console.log(line);
// var stat = fs.statSync(nodePath);
if (stat.isDirectory()) { // // var children = fs.readdirSync(nodePath); children.forEach(function (child) { displayRecursive(path.join(nodePath, child), options); }); }}
B
displayRecursive(process.argv[2], { lineNumber: 1});
B
$ node a.js ./1: ./2: ./a.js3: ./hoge4: ./hoge/hoge.txt5: ./hoge/README.md
B
BBOCCO! !BOCCO!
B
(...)
C
C
CBOCCOCBOCCO!!
C
BOCCO!C!C?BOCCO!
C
BOCCO!C!
C
(...)
C
BBOCCO!BOCCO??
C
BB?BOCCO!
C
B!B!BOCCO...
C
(...)
C
BOCCOB...
C
BBBOCCO...BBOCCO...
C
BBB?BOCCO...B...BOCCO...
C
BOCCO(...)
C
BOCCOBOCCOBBOK!B
C
ABOCCOBOCCOBOCCO(A...)
C
AA?BOCCO(...)BOCCO...
C
A...BOCCOB?A!!
...
...
...
...!
0
...
BOCCO
...
EBOCCO?BOCCOA...E!BOCCO...
...
EA??BOCCOC...E?BOCCO...
...
ABOCCOC
...
(BOCCO...)
...
BOCCO(...)
...
...
(BOCCO...)
...
F...BOCCO!()BOCCO...
...
F?BOCCO!F??BOCCO...
...
BOCCO()
...
AA?CF?
...
BOCCO(...)
...
BOCCO
...
!
...!
()
!
!
B
/** * * @param nodePath {String} * @param optDisplay {Function} */function displayRecursive(nodePath, optDisplay) { var display = optDisplay || function (line) { console.log(line); }; display(nodePath);
// var stat = fs.statSync(nodePath);
if (stat.isDirectory()) { // // var children = fs.readdirSync(nodePath); children.forEach(function (child) { displayRecursive(path.join(nodePath, child), display); }); }}
/** * */function makeLineNumber () { var lineNumber = 1; return function (nodePath) { console.log(lineNumber + ': ' + nodePath); lineNumber++; };};
displayRecursive(makeLineNumber());
B!
F
!
BOCCO
!
/
/
!/ (Open-Closed Principle)!
/
/(Open-Closed Principle)(Open)
(Close)
/
...
...
/
...
/
?????
/
!
/
ABCD
!!!!!
/
ABCD
ABCD?...
/
ABCD
ABCD?...
/
ABCD
ABCD
/
ABCD
ABCD!!!!!
/
C...
/
!
/
/
...
/
!
/
!
/
ABCD
ABCD...
/
ABCD
ABCD
/
ABCD
ABCD?...
!
/
/!
/
?
?
?
http://www.amazon.co.jp/dp/4797311126/
?
http://www.amazon.co.jp/dp/4797347783
?
http://www.amazon.co.jp/dp/4621066048/
?
http://www.amazon.co.jp/dp/427405019X/
?
!
?
Java!
?
!!
...
?
?
...
?
?
B
?
(/)
?
...
?
?
!
?
?
!
?
...
...
...
/
!
/
...
!
!