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

射阳做网站的公司wordpress导航链接地址都是主页

射阳做网站的公司,wordpress导航链接地址都是主页,网站建设的优势是什么意思,学校网站管理系统定义#xff1a;设计模式指的是在软件开发过程中#xff0c;经过验证的#xff0c;用于解决在特定环境下#xff0c;重复出现的#xff0c;特定问题的解决方案。创建型设计模式关注对象的创建过程#xff0c;提供了更灵活、可扩展的对象创建机制。结构型设计模式用于解决…定义设计模式指的是在软件开发过程中经过验证的用于解决在特定环境下重复出现的特定问题的解决方案。创建型设计模式关注对象的创建过程提供了更灵活、可扩展的对象创建机制。结构型设计模式用于解决对象之间组合成更大结构的问题以便更好地管理它们之间的关系 前提具体需求有稳定点也有变化点希望将来能够修改少量代码就能适应需求的变化 基础继承、封装、多态 模版方法 定义定义了一个算法的骨架将算法中的某些步骤延迟到子类中实现 人话算法子流程是固定的但是子流程的执行顺序可能会发生变化因此可以使用继承在继承基类方法的同时实现一些函数这些函数的子流程执行顺序是不同的。在程序执行的时候通过晚绑定实例化子类。子类要满足里氏替换原则就是子类可以完美替代父类。demo program #include iostream using namespace std;// 开闭 class ZooShow { public:void Show() {// 如果子表演流程没有超时的话进行一个中场游戏环节如果超时直接进入下一个子表演流程if (Show0())PlayGame();Show1();Show2();Show3();}private:void PlayGame() {cout after Show0, then play game endl;}bool expired;// 对其他用户关闭但是子类开放的 protected:virtual bool Show0() {cout show0 endl;if (! expired) {return true;}return false;}virtual void Show2() {cout show2 endl;}virtual void Show1() {}virtual void Show3() {} };// 框架 // 模板方法模式 class ZooShowEx10 : public ZooShow { protected:virtual void Show0() {if (! expired) {return true;}return false;} }class ZooShowEx1 : public ZooShow { protected:virtual bool Show0() {cout ZooShowEx1 show0 endl;if (! expired) { // 里氏替换return true;}return false;}virtual void Show2(){cout show3 endl;} };class ZooShowEx2 : public ZooShow { protected:virtual void Show1(){cout show1 endl;}virtual void Show2(){cout show3 endl;} };class ZooShowEx3 : public ZooShow { protected:virtual void Show1(){cout show1 endl;}virtual void Show3(){cout show3 endl;}virtual void Show4() {//} }; /* */ int main () {ZooShow *zs new ZooShowEx10; // 晚绑定还是早绑定// ZooShow *zs1 new ZooShowEx1;// ZooShow *zs2 new ZooShowEx2;zs-Show();return 0; } 观察者模式 定义用于定义对象之间的一对多依赖关系当一个对象的状态发生改变时其所有依赖者观察者都会收到通知并自动更新。 人话定义一个控制类把所有实例化的对象全部存储到这个类的容器(也可以使用其他类型的数据结构)中需要更新的时候遍历所有对象修改数据。优点是无需修改依赖和被依赖的对象缺点是观察者过多影响性能。 代码实例 #include iostream #include list #include algorithm using namespace std; // class IDisplay { public:virtual void Show(float temperature) 0;virtual ~IDisplay() {} };class DisplayA : public IDisplay { public:virtual void Show(float temperature) {cout DisplayA Show endl;} private:void jianyi(); };class DisplayB : public IDisplay{ public:virtual void Show(float temperature) {cout DisplayB Show endl;} };class DisplayC : public IDisplay{ public:virtual void Show(float temperature) {cout DisplayC Show endl;} };class DisplayD : public IDisplay{ public:virtual void Show(float temperature) {cout DisplayC Show endl;} };class WeatherData { };// 应对稳定点抽象 // 应对变化点扩展继承和组合 class DataCenter { public:void Attach(IDisplay * ob) {//}void Detach(IDisplay * ob) {//}void Notify() {float temper CalcTemperature();for (auto ob : obs) {ob-Show(temper);}}// 接口隔离 private:WeatherData * GetWeatherData();float CalcTemperature() {WeatherData * data GetWeatherData();// ...float temper/* */;return temper;}std::listIDisplay* obs; };int main() {// 单例模式DataCenter *center new DataCenter;// ... 某个模块IDisplay *da new DisplayA();center-Attach(da);// ...IDisplay *db new DisplayB();center-Attach(db);IDisplay *dc new DisplayC();center-Attach(dc);center-Notify();//-----center-Detach(db);center-Notify();center-Notify();return 0; } 策略模式 定义提供一系列可以重用的算法使得程序在运行时可以方便的切换。 人话固定的部分抽象成基类子类继承基类并且重写基类的虚函数程序调用的时候根据传入的实例化的类来执行函数。是一种比较好的去处if-else的方法。 例子 class Context {};// 稳定点抽象去解决它 // 变化点扩展继承和组合去解决它 class ProStategy { public:virtual double CalcPro(const Context ctx) 0;virtual ~ProStategy(); }; // cpp class VAC_Spring : public ProStategy { public:virtual double CalcPro(const Context ctx){} };class VAC_Spring_v2 : public VAC_Spring { public:virtual double CalcPro(const Context ctx){//....} };class VAC_worker : public ProStategy { public:virtual double CalcPro(const Context ctx){} };// cpp class VAC_QiXi : public ProStategy { public:virtual double CalcPro(const Context ctx){} }; class VAC_QiXi1 : public VAC_QiXi { public:virtual double CalcPro(const Context ctx){} }; // cpp class VAC_Wuyi : public ProStategy { public:virtual double CalcPro(const Context ctx){} }; // cpp class VAC_GuoQing : public ProStategy { public:virtual double CalcPro(const Context ctx){} }; class VAC_GuoQing2 : public VAC_GuoQing { public:virtual double CalcPro(const Context ctx){} };class VAC_Shengdan : public ProStategy { public:virtual double CalcPro(const Context ctx){} };// 设计原则接口隔离原则 // 组合、继承 // 组合基类指针 // 两种方法1. 采用具体接口选择算法 2. 依赖注入 class Promotion { public:Promotion(ProStategy *sss nullptr) : s(sss){}~Promotion(){}void Choose(ProStategy *sss) {// 条件选择if (sss ! nullptr) {s sss;}}double CalcPromotion(const Context ctx){if (s ! nullptr) {return s-CalcPro(ctx);}return 0.0L;} private:ProStategy *s; };int main () {Context ctx;ProStategy *s new VAC_QiXi1();Promotion *p new Promotion(s);p-Choose(new VAC_GuoQing2());p-CalcPromotion(ctx);return 0; } 这是一条吃饭博客由挨踢零声赞助。学C/C就找挨踢零声加入挨踢零声面试不挨踢
http://www.zqtcl.cn/news/370542/

相关文章:

  • 网站建设实践考试试题app运营推广策划方案
  • django网站开发源码阿里邮箱登录
  • 机床网站建设网站关键词优化怎么做
  • 全网营销一站式推广wordpress新文章加new
  • 做网站哪个系统最安全长沙简界网络科技有限公司
  • 象山县城乡和住房建设局网站上海公司牌照最新价格
  • 复旦学霸张立勇做的网站开一个公司需要多少钱
  • 专业建设公司网站软件技术培训
  • 网站建设_聊城笑话小网站模板html
  • 智能建造师威海网站优化推广
  • 做网站如何选域名长沙房价2020最新价格
  • seo网站推广济宁一建建设集团有限公司
  • 高端大气网站设计欣赏有意思网站推荐
  • 什么网站做海宁的房产好北控京奥建设有限公司网站
  • 上海网站建设网络推广网页搜索框下记录删不掉
  • 团购网站大全做相册手机网站如何制作免费
  • 承德网站制作方案百度seo关键词排名s
  • 网站建设公司佛山国内网站推广
  • 辽宁网站制作公司潍坊网站建设维护
  • 手机网站图片切换平面图网站
  • 松岗建设网站广州网站定制开发方案
  • 东阳网站建设价格做理财的网站有哪些问题
  • 蓄电池回收网站建设wordpress cp 部署
  • cuteftp 备份网站网站制作课程介绍
  • 杭州网站搭建宁波企业官网建设
  • php免费网站源码网站建设电子书
  • 建设纺织原料网站专业网页制作室
  • 买域名做网站推广都是些什么湘潭什么网站做c1题目
  • 鲜花网站建设图片昆明网站建站平台
  • 密云网站制作案例昆明小程序开发