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

创建个人百度百科网站排名优化方案

创建个人百度百科,网站排名优化方案,手机网站根目录,小程序商店大全设计模式11-原型模式 写在前面对象创建模式典型模式原型模式动机结构代码推导应用特点要点总结 原型模式与工厂方法模式对比工厂方法模式原型模式什么时候用什么模式 写在前面 对象创建模式 通过对象创建模式绕开动态内存分配来避免创建过程中所导致的耦合过紧的问题。从而支… 设计模式11-原型模式 写在前面对象创建模式典型模式原型模式动机结构代码推导应用特点要点总结 原型模式与工厂方法模式对比工厂方法模式原型模式什么时候用什么模式 写在前面 对象创建模式 通过对象创建模式绕开动态内存分配来避免创建过程中所导致的耦合过紧的问题。从而支持对象创建的稳定它是接口抽象之后的第一步工作。 典型模式 工厂方法模式抽象工厂模式原型模式构建器 原型模式 动机 在某些情况下创建一个新对象的过程可能非常复杂或代价高昂。通过复制一个现有的对象即原型我们可以快速创建新的对象并且可以对复制的对象进行独立修改。这种方式特别适用于需要频繁创建相似对象的场景。 结构 Prototype原型 声明一个克隆自身的接口。ConcretePrototype具体原型 实现克隆方法以便创建自己的副本。Client客户端 通过调用原型的克隆方法来创建新的对象。 代码推导 就是将工厂模式中的创建对象的接口移到同一个类中并进行深拷贝的方式创建对象 下面是一个简单的原型模式示例 #include iostream #include string using namespace std;// Prototype Interface class Prototype { public:virtual Prototype* clone() const 0;virtual void print() const 0;virtual ~Prototype() {} };// Concrete Prototype class ConcretePrototype : public Prototype { private:string field;public:ConcretePrototype(const string field) : field(field) {}ConcretePrototype(const ConcretePrototype other) : field(other.field) {}Prototype* clone() const override {return new ConcretePrototype(*this);}void print() const override {cout ConcretePrototype with field: field endl;} };// Client Code int main() {ConcretePrototype prototype1(Value1);Prototype* prototype2 prototype1.clone();prototype1.print();prototype2-print();delete prototype2;return 0; } 在这个例子中ConcretePrototype实现了Prototype接口并提供了一个clone方法来复制自身。客户端代码通过调用clone方法创建了一个ConcretePrototype对象的副本。 应用 原型模式适用于以下场景 当一个系统需要独立于其产品创建、构成和表示时。当要实例化的类是由某个运行时动态加载的类时。为了避免使用new操作符直接创建对象。当一个类的实例化过程非常复杂或代价高昂时如需要大量初始化资源。 特点 优点 可以在不暴露具体实现细节的情况下快速创建对象。减少创建对象的成本尤其是创建对象过程复杂或代价高昂时。允许动态增加或减少产品种类。 缺点 需要为每一个类配备一个克隆方法这可能会增加代码复杂性。深拷贝和浅拷贝的实现需要仔细考虑尤其是在涉及到复杂对象时。 要点总结 原型模式同样用于隔离类对象的使用者和具体类型之间的耦合关系同样要求这些异变类拥有稳定的接口。原型模式对于如何创建异变类的实体对象采用原型克隆的方法来做。它使得我们可以非常灵活的动态创建。拥有某些稳定接口的新对象。所需工作仅仅是注册一个新类的对象即原型然后在任何需要的地方克隆。原型模式中的克隆方法可以利用某些框架中的序列化来实现深拷贝。 原型模式与工厂方法模式对比 工厂方法模式 动机 通过定义一个创建对象的接口由子类决定实例化的类是哪一个。这样工厂方法把实例化的过程推迟到子类。优点 避免了在客户端代码中显式使用new操作符符合开闭原则。应用场景 适用于实例化的类可能经常变化的情况通过工厂方法可以灵活地改变产品的实例化方式。 原型模式 动机 通过复制现有对象来创建新对象而不是通过类构造函数实例化对象。适用于需要频繁创建相似对象的场景。优点 可以快速创建对象减少创建对象的成本。应用场景 适用于创建对象过程复杂或代价高昂需要频繁创建相似对象的情况。 什么时候用什么模式 使用工厂方法模式 当你需要将实例化过程推迟到子类并希望子类决定要创建的类是哪一个时。工厂方法模式通过继承和多态来实现对象的创建。使用原型模式 当你需要快速创建对象并且这些对象具有相似的属性时。原型模式通过克隆现有对象来实现对象的创建。 总的来说如果对象创建过程复杂且创建开销大或者对象是从一个繁重的构造函数生成的那么使用原型模式更为合适。如果需要灵活地选择实例化的类并希望代码符合开闭原则那么工厂方法模式是更好的选择。
http://www.w-s-a.com/news/660527/

相关文章:

  • 仙桃网站定制做房产网站能赚钱吗
  • 西安网站制作模板最新源码
  • 南京江宁网站建设大学高校网站建设栏目
  • 模板网站建设明细报价表做网站第一
  • 公司网站建设系统软件开发 上海
  • 怎么让公司建设网站固安县建设局网站
  • 360免费建站官网入口手机网站建设设计
  • 商城网站建站系统dw如何做网页
  • 网站建设的公司收费我有网站 怎么做淘宝推广的
  • 网站建设策划书事物选题手机兼职app
  • html5 微网站模版wordpress博客速度很慢
  • 怎么做五个页面网站网络推广如何收费
  • 上虞宇普电器网站建设江西建筑人才网
  • 在吗做网站商城一个网站需要服务器吗
  • 先做网站再备案吗中山微网站建设报价
  • 树莓派可以做网站的服务器吗网站建设与设计ppt
  • 网站访问速度分析网站怎么做让PC和手机自动识别
  • 网站建设要考西宁网站建设多少钱
  • 网站开发公司东莞网站推广计划书具体包含哪些基本内容?
  • 素材天下网站惠州网站建设行业
  • 网站做a视频在线观看网站天津建站
  • 自己做的网站怎么链接火车头采集一个网站可以做几级链接
  • 济南网站制作哪家专业做网站怎样投放广告
  • 辽宁网站推广短视频运营培训学费多少
  • 拼多多网站怎么做翻译 插件 wordpress
  • 做网站运营的职业生涯规划wordpress分类显示图片
  • 网站建设与制作总结沈阳百度广告
  • 网站管理系统 手机会员制网站搭建wordpress
  • 做物品租赁网站清新wordpress主题
  • 优秀专题网站家居企业网站建设市场