我知道这上面有上百个问题。我可能读过50个不同的问题,博客文章和教科书。问题是我得到了大约75种不同的答案。我已经看到以下所有描述为某种类型的工厂,我不能遵循混乱的术语,并对利弊感到困惑。
public class PizzaFactory {
public static Pizza(String city) {
switch(city) {
case "Chicago": return new DeepDishPizza();
case "New York": return new ThinCrustPizza();
头第一设计模式将简单工厂描述为
public class SimplePizzaFactory {
public Pizza createPizza(String type) {
Pizza pizza = null;
if (type.equals(“cheese”)) {
pizza = new CheesePizza();
} else if (type.equals(“pepperoni”)) {
pizza = new PepperoniPizza();
我正在学习JDBC,并且我已经学习了其中的步骤:打开连接、执行语句、获取结果等。我知道Connection、Statement和其他接口,但我只是找到了另一个类Connector类的教程。我不明白我们到底能用这个Connector类做什么。我在没有这个类的情况下做了一些应用,我不明白为什么我需要Connector类?任何反馈都将被删除!
代码如下:
public Set getAllUsers() {
Connector connector = new Connector();
Connection connection = connector.getConnection(
我正在试图分解一个非常大的JavaScript文件。在这个文件中,我们有一个类的层次结构,其中有许多根类的子类。但是,根类有一个函数,它的开关语句根据参数返回它的一个子类的另一个对象。看起来是这样的:
class RootClass {
static FromArg(arg) {
switch (arg.Type) {
case FirstType:
return new FirstSubclass()
case SecondType:
return new SecondSubclass()
...
}
我试着学习模式并进入工厂,我理解简单工厂和工厂方法的概念,我知道它们是如何工作的,我无法理解的是工厂方法比简单工厂的好处是什么。示例:
//We have our clients here
public class Animal {}
public class Dog extends Animal{}
public class Cat extends Animal{}
在一个简单的工厂里,我们将拥有这样的东西:
public Animal getAnimal(String type) {
switch (type) {
case "cat":
re
我不得不说,我总是尽量保持代码的简洁和美观,在可能的情况下主要使用设计模式。另外,我在互联网上没有发现任何与此相关的东西(除了简单而模糊的例子,主要是在使用json的javascript中)。
场景是:我必须从一个文件中解析/构建具体的对象,该文件的内容可能是XML、JSON和/或其他格式。以下是一个例子:
具体目标:
// Contains the common states for the entities
struct EntityModel
{
int hp;
int level;
int armor;
int speed;
// Other attributes...
};
cl
对不起,如果这是一个空洞的问题,但我真的不是很清楚。使用php将工厂模式集成到mvc中是一种好的做法吗?例如,我是否可以拥有以下库结构:
index.php
--init
--abstract factory class for models
--models
--model extend factory class
--controllers
--views
我目前正在计划一个分布式系统的监控服务器。在一个文件(或数据库,某一天)中,我保存我想要监视的所有服务器和参数。当监视系统启动时,我解析该配置文件并将内容存储在一个配置类中(请参阅下面的源代码)。为了独立于存储类型(文件、数据库、.)我使用IConfigurationHandler接口(好的,我承认这个名称不太适合:),它的实现负责读取/写入文件内容。
我考虑了以下设计:
public class Configuration
{
private IConfigurationHandler _configHandler;
public Configuration(IConfig
我经常发现自己在创建以“Factory”为后缀的类。这些类往往只负责创建特定的类或一组相关的类。然而,我一直觉得这可能不是最佳实践,还有更好的方法。我认为这不是最佳实践的原因之一是,尽管我使用了“factory”后缀,但我实际上并没有使用工厂设计模式。
假设我有一个类Vehicle,它包含两个变量make和model。我希望我的问题能够创建许多这样的Vehicle对象,所以我希望将代码封装在单个类中来创建这些对象。我可能会创建下面的类。
public class VehicleFactory
{
public Vehicle CreateVehicle(string make, str
工厂只创建正确类型的
下面是一个Factory只返回正确类型的示例:
public class BirdFactory
{
public static IBird CreateBird(string birdType)
{
switch (birdType)
{
case "Eagle":
return new Eagle();
case "Penguin":
return new Penguin();
创建实例
我对DDD很陌生,我想知道创建实体的工厂是否负责创建值对象。下面是我到现在为止所拥有的一个小例子:
class User extends Entity {
public name: UserName;
constructor (name: UserName) {
this.name = name;
}
}
class UserName extends ValueObject {
public userName: string;
}
class UserFactory {
public create(string name)
我现在左右为难,试图为我正在工作的一个.NET COM包装器项目选择一个好的API布局。这主要是一个设计问题,以及什么会工作得更好。
所以我有这个COM点对象:
public class COMPoint
{
internal COMPoint(MyComObject comobject) {}
public SomeCollection Nodes {get; set;}
}
现在,为了在COM对象中创建point对象,我需要调用一些字符串命令,这就是我在决定将其指向何处时遇到问题的地方。
现在,我考虑使用一个具有属性的POCO,然后将其传递到某种工厂方法中,就像这样;
p
我想制作一个ThreadPollExecutor,它可以执行具有给定优先级的任务。
我怎么发动汽车呢?在发送到线程轮询的每个可运行程序开始时添加对setThreadPriority的调用?我还考虑过使用这样的自定义线程工厂:
private final static class ProcessPriorityThreadFactory implements ThreadFactory {
private final int threadPriority;
public ProcessPriorityThreadFactory(int threadPriority) {
我在理解工厂方法模式时遇到了困难。从这里的示例:和这里:
public class ImageReaderFactory
{
public static ImageReader getImageReader( InputStream is )
{
int imageType = figureOutImageType( is );
switch( imageType )
{
case ImageReaderFactory.GIF:
return new GifReade