gpt4 book ai didi

oop - 什么是 OOP 中的工厂

转载 作者:行者123 更新时间:2023-12-04 18:35:18 26 4
gpt4 key购买 nike

我对“工厂相关”设计模式及其 OOP 实现的理解一直很简单。

  • 一个 《工厂法》是类内部的一个方法,它有一个接口(interface)(或抽象类)作为返回类型,并根据一些内部逻辑构造实现该接口(interface)的对象。
  • 一个 《工厂》是一个只包含工厂方法的类
  • 一个 《抽象工厂》是只包含工厂方法的接口(interface)(或抽象类)

  • 但是我最近偶然发现了有关该主题的维基百科文章( FactoryAbstract factory),这让我有些困惑,尤其是关于 的内容。 《工厂》在 OOP 中。

    这里有几个引用:

    1. A subroutine that returns a "new" object may be referred to as a "factory", as in factory method or factory function.
    2. Factories are used in various design patterns
    3. The "Abstract factory pattern" is a method to build collections of factories.
    4. A factory is the location of a concrete class in the code at which objects are constructed


    这引起了一些问题:

    (1)&(2) 这是否意味着工厂不是类或对象,而是一段逻辑?

    (2)“工厂”本身不是一种模式吗?

    (3) 这里的“收藏”是什么意思?它只是说“你可以有几个实现相同接口(interface)的工厂(这是一个抽象工厂)”的一种方式吗?

    (4) 什么???

    谁能澄清这意味着什么?我对工厂的初步理解是错误的吗?

    最佳答案

    看看这个wiki其中说:

    In object-oriented programming (OOP), a factory is an object for creating other objects – formally a factory is a function or method that returns objects of a varying prototype or class from some method call, which is assumed to be "new".[a] More broadly, a subroutine that returns a "new" object may be referred to as a "factory", as in factory method or factory function. This is a basic concept in OOP, and forms the basis for a number of related software design patterns.



    因此,具体回答您的问题:

    (1)&(2) Does this mean that a factory is not a class or an object, but a piece of logic?



    不,这意味着您可以使用对象(工厂)创建其他对象。

    (2) Is "Factory" not a pattern itself?



    有不同的设计模式,工厂模式就是其中之一。因此,当您使用工厂创建对象时,创建其他对象的模式就是“工厂模式”

    关于oop - 什么是 OOP 中的工厂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35765454/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com