⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2.07 - an example illustrating the use of the interface class.js

📁 JS设计模式源代码
💻 JS
字号:
// ResultFormatter class, before we implement interface checking.var ResultFormatter = function(resultsObject) {  if(!(resultsObject instanceOf TestResult)) {    throw new Error('ResultsFormatter: constructor requires an instance '      + 'of TestResult as an argument.');  }  this.resultsObject = resultsObject;};ResultFormatter.prototype.renderResults = function() {  var dateOfTest = this.resultsObject.getDate();  var resultsArray = this.resultsObject.getResults();    var resultsContainer = document.createElement('div');  var resultsHeader = document.createElement('h3');  resultsHeader.innerHTML = 'Test Results from ' + dateOfTest.toUTCString();  resultsContainer.appendChild(resultsHeader);    var resultsList = document.createElement('ul');  resultsContainer.appendChild(resultsList);    for(var i = 0, len = resultsArray.length; i < len; i++) {    var listItem = document.createElement('li');    listItem.innerHTML = resultsArray[i];    resultsList.appendChild(listItem);  }    return resultsContainer;};// ResultSet Interface.var ResultSet = new Interface('ResultSet', ['getDate', 'getResults']);// ResultFormatter class, after adding Interface checking.var ResultFormatter = function(resultsObject) {  Interface.ensureImplements(resultsObject, ResultSet);  this.resultsObject = resultsObject;};ResultFormatter.prototype.renderResults = function() {  ...};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -