当前位置: 首页 > news >正文

郑州建设教育培训中心网站什么是网络营销与策划

郑州建设教育培训中心网站,什么是网络营销与策划,wordpress 手机 模板,建设银行纪检监察网站23种设计模式之C++实践 3. 设计模式(二)组合型模式7. 适配器模式——不兼容结构的协调7.2:类适配器模式7.3:双向适配器模式适配器模式总结8.桥接模式——处理多维度变化桥接模式总结9. 组合模式——树形结构的处理9.2 透明组合模式9.3 安全组合模式组合模式总结10. 装饰模式… 23种设计模式之C++实践 3. 设计模式(二)组合型模式7. 适配器模式——不兼容结构的协调7.2:类适配器模式7.3:双向适配器模式适配器模式总结 8.桥接模式——处理多维度变化桥接模式总结 9. 组合模式——树形结构的处理9.2 透明组合模式9.3 安全组合模式组合模式总结 10. 装饰模式——扩展系统功能装饰模式总结 11. 外观模式——提供统一入口外观模式总结 12. 享元模式——实现对象的复用享元模式总结 13. 代理模式——对象的间接访问代理模式总结 3. 设计模式 (二)组合型模式 7. 适配器模式——不兼容结构的协调 适配器模式(Adapter Pattern):将一个接口转换为客户希望的另一个接口,使接口不兼容的那些类可以一起工作。 要点 适配器模式可分为对象适配器和类适配器。对象适配器中,适配器与适配者之间是关联关系。类适配器中,适配器与适配者之间是继承关系,使用频率更高。 结构图 对象适配器 类适配器 适用场景示例 学校教务管理系统:需要对学生成绩进程排序和查找。已经开发了成绩操作接口ScoreOperation,在成绩操作接口中声明了排序方法sort(int [])和查找方法search(int[],int)。现决定重用之前的算法库中的快速排序类QuickSort和二分查找类BinarySearch。 代码示例 // ScoreOperation.h /*** @brief 成绩操作接口**/ class ScoreOperation {public:virtual void sort(int* array, int len) = 0;virtual int search(int* array, int len, int key) = 0; };/*** @brief 成绩操作适配器**/ class OperationAdapter : public ScoreOperation {private:CommonToolNS::QuickSort* sortObj;CommonToolNS::BinarySearch* searchObj;public:OperationAdapter() {sortObj = new CommonToolNS::QuickSort();searchObj = new CommonToolNS::BinarySearch();}public:void sort(int* array, int len) override;int search(int* array, int len, int key) override; };// ScoreOperation.cpp void OperationAdapter::sort(int* array, int len) {sortObj-quickSort(array, len);return; }int OperationAdapter::search(int* array, int len, int key) {int flag = searchObj-binarySearch(array, len, key);return flag; }// CommonTool.h class QuickSort {public:/*** @brief 快速排序** @param array* @param len*/void quickSort(int* array, int len);private:void sort(int* array, int p, int r);int partition(int* array, int p, int r);void swap(int* array, int i, int j); };class BinarySearch {public:/*** @brief 二分查找** @param array* @param len* @param key* @return int*/int binarySearch(int* array, int len, int key); };class Log {public:static void print(int* array, int len); };// CommonTool.cpp void QuickSort::quickSort(int* array, int len) {sort(array, 0, len - 1);return; }void QuickSort::sort(int* array, int p, int r) {int q = 0;if (p r) {q = partition(array, p, r);sort(array, p, q - 1);sort(array, q + 1, r);}return; }int QuickSort::partition(int* array, int p, int r) {int x = array[r];int j = p - 1;for (int i = p; i = r - 1; ++i) {if (array[i] = x) {j++;swap(array, j, i);}}swap(array, j + 1, r);return j + 1; }void QuickSort::swap(int* array, int i, int j) {int t = array[i];array[i] = array[j];array[j] = t;return; }int BinarySearch::binarySearch(int* array, int len, int key) {int low = 0;int high = len - 1;while (low = high) {int mid = (low + high) / 2;int midVal = array[mid];if (midVal key) {low = mid + 1;} else if (midVal key) {high = mid - 1;} else {return 1;}}return -1; }void Log::print(int* array, int len) {printf("array: ");for (int i = 0; i len; ++i) {printf("%d ", array[i]);}printf("\n");return; }代码测试 测试代码 int main(int argc, char** argv) {printf("I'm Adapter Pattern!\n");// begin testint scores[] = {34, 54, 23, 100, 66, 23, 76, 89, 98};ScoreOperation* scoreOperation = new OperationAdapter();scoreOperation-sort(scores, 9);Log::print(scores, 9);printf("查找成绩为98的学生:");if (scoreOperation-search(scores
http://www.pierceye.com/news/436828/

相关文章:

  • 网站建设能用手机制作吗人人车网站建设费用
  • 网站开发技术部分网络营销的宏观环境
  • 南宁网站建设公司国外优秀网站案例
  • 做网站需要什么证件吗免费seo技术教程
  • 深圳银行网站建设wordpress 审批流
  • 网站开发设计怎么找客户做企业网站 空间怎么买
  • 怎么在搜索引擎里做网站网页wordpress文章新窗口
  • 企业网站功能对比分析新农村建设 网站
  • 公司网站营销公司做网站都咨询哪些问题
  • 洛阳网站建设价格做网站需要服务器还是主机
  • 北京企业网站制作哪家好做宠物网站导航应该写什么字
  • 做设计网站的工作怎么样郑州企业微网站建设
  • 青岛百度整站优化服务做网站都需要哪些费用
  • 新校区建设专题网站招聘H5在什么网站做最好
  • 网站建设vi设计交互设计是做什么的
  • 怎么做提货网站auto post wordpress
  • 销售网站怎么做的购物网站建设多少钱
  • 泉州网站关键词排名新乡手机网站建设公司
  • 服务器网站建设软件有哪些电子公章在线制作网站
  • 临沂定制网站建设公司金蝶erp软件
  • 企业网站建设需要提供什么内容电子商务网站搜索引擎设计
  • 免费关键词挖掘网站微信网页版下载 官方
  • 品牌设计公司品牌设计公司排名百家号优化上首页
  • 广州网站车管所深圳东门大厦
  • 门户网站 建设商 排名网站下载的视频怎么变成本地视频
  • 国外品牌设计网站中华始祖堂室内设计
  • 建设网站服务无极最新招聘
  • 广东省建设教育协会是什么网站揭东建设局网站
  • 那家专门做特卖的网站godaddy 搭建网站
  • 网络舆情处置的五个步骤新人学会seo