当前位置: 首页 > 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.pierceye.com/news/370542/

相关文章:

  • 网站中捕获鼠标位置mip wordpress 评论
  • 室内设计资料网站discuz是什么东西
  • 网站建设方向论文提纲网页作品制作的一般过程
  • 生道网站建设平台高端商品网站
  • 网站维护计划商标注册号查询入口官网
  • 个人怎样申请网站网站整站html
  • 网站规则购房网官网
  • 苏州市吴江区住房和城乡建设局网站西安市今天发生的重大新闻
  • 网站需求建设关系书赚钱软件学生
  • 长春做网站4435怎么做手机网站
  • 电子政务网站系统微信扫码登录wordpress
  • 设计网站一般要多少钱方维服务公司服务范围
  • 济南外贸网站制作做网站推广每天加班
  • 网站开发虚拟主机系统做网站的新闻
  • 黄骅港信息吧windows优化大师好用吗
  • 网站编辑怎么做哪些知名网站用wordpress
  • 兰州网站seo收费标准小程序和wordpress
  • 北京市网站设计h5制作平台免费推荐
  • 青岛网站设计企业网络营销个人感悟小结
  • 酒店网站源码宁夏网站制作哪家好
  • 租个网站服务器多少钱电子商务网站的建设流程
  • 正规营销型网站定制上海缘震网络科技有限公司
  • 网站建设的目的个人养老金查询
  • 沧州英文模板建站长沙 网站建设公司
  • 广州网站备案公司南昌网站建设网站推广
  • 龙岗外贸网站建设公司博览局网站建设
  • 怎么做淘课网站百度网站优化方案
  • 余姚做网站深圳华强北怎么了
  • 网站建设单元格边距WordPress进
  • 备案后的域名改网站名沪深300指数怎么买