我对工厂模式有一定的了解,并想出了这个实现。
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Enter the fruit name to get the Fruit!");
string fruit = Console.ReadLine();
FruitsList fruits;
if (Enum.TryParse(fruit, true, out fruits))
{
我想知道如何做到这一点,考虑以下类
public class Fruit
{
public string Name { get; set; }
public Color Color { get; set; }
}
public class Apple : Fruit
{
public Apple()
{
}
}
我如何实例化一个新的水果,但向上转换到Apple,有没有一种方法可以实例化一堆fruit,并使它们成为具有名称和颜色集的Apple。我需要手动进行深度复制吗?
当然,这是失败的
Fruit a = new Fruit();
a.Name = &
假设创建/计算水果的所有属性需要大量的逻辑,最后您只想拥有一个非常简单的不可变的POCO对象。
也就是说,它没有任何方法,这使得它真的很容易推理,也容易和清楚地序列化。
现在我有这样的名字:
class BananaCalulator { public Banana Calculate() }
class Banana {}
class AppleCalulator { public Apple Calculate() }
class Apple {}
这是一种常见的模式吗?是否有更常见的术语而不是计算器?
我创建了一个下面的例子。这是否遵循AbstractFactory设计模式?
ButtonType.java
public enum ButtonType {
WIN, LINUX, MAC
}
Button.java
public interface Button {
ButtonType getButtonType();
void actionListener();
}
LinuxButton.java
public class LinuxButton implements Button {
@Override
public ButtonType
我有一个允许的水果列表,并且必须确保配置文件包含所有这些水果,并且每个水果都位于一个单独的行中,因为below.The配置文件有其他配置lines.Lets,比如允许的水果是苹果、香蕉、樱桃,那么有效的配置文件将如下所示:
fruit apple
some other config line
############
fruit banana
fruit cherry
other config 1
other config n
使用java regex来检查是否列出了所有三个允许的水果,只有那些fruits.For,例如:如果第四个水果列在单独的行中,那么配置文件是无效的。
我可以使用
我正在做一个在ActionScript中使用项目物理的游戏,但我的问题不是关于语言的。它是关于模式的使用。
我的游戏里有水果。我使用这个接口做了一个接口Fruit和像Banana这样的水果。我还制作了一个类Fruits来获取运行时的随机结果。
public interface WorldElement {
function get body():Body;
}
public interface Fruit extends WorldElement {
function getName():String;
function getPoint():Number;
我有一个类和接口,如下所示
package com;
public interface Animal {
public void makeSound();
}
Dog.java
package com;
public class Dog implements Animal {
@Override
public void makeSound() {
System.out.println("Ruf Ruf");
}
}
Cat.java
package com;
public class Cat implements
我想使用factory_girl创建2条记录。一种是水果和第二种蔬菜。我怎么能这么做?我知道我可以做一个这样的:
FactoryGirl.define do
factory :category do
title ''
end
end
另外,我应该运行create还是什么来保存数据呢?我试过两种方法。两人都犯了错误。
第一
FactoryGirl.define do
factory :category do
title 'fruits'
title 'vegetables'
end
end
第二
Factor
在这种情况下,我需要所有的子类实现父class...statically.的公共抽象方法但显然Java不允许抽象的静态方法..。
那么,Java中这种实现的替代设计是什么呢?下面是描述我所处情况的代码:
父类
public abstract class ParentFactory {
/**
* This is a factory class that provides static init method
**/
public abstract static void init();
}
儿童班
public class ChildFactory extend
我需要帮助设计模式识别。这是我的Java代码
public class A extend B {
public A (String arg1){
super(arg1);
}
public C newInstance(String arg2){
return new C(arg1, arg2);
}
}
有什么想法吗?是哪种模式?
UPD
public abstract class B {
protected final String arg;
public B(String arg) {
this.arg = arg;
我正在学习马克·格兰德的"Patterns in Java“第一卷中的Java设计模式(特别是工厂方法)。我的观点是强调最接近的模式之间的差异。有很好的答案来阐明Factory方法和Abstract Factory之间的区别。 (Design Patterns: Factory vs Factory method vs Abstract Factory, What is the basic difference between the Factory and Abstract Factory Design Patterns?)。但我注意到,与我在“Java中的模式”中读到的解释相比,
我知道我可以编写这样的动态代理:
public class DecoratedFile implements java.lang.reflect.InvocationHandler {
private Object delegate;
public static Object newInstance(Object delegate) {
return java.lang.reflect.Proxy.newProxyInstance(
obj.getClass().getClassLoader(),
ob
我有一个接口,比如VegetableCreation,它有一个方法:
public void writeVeggieDataIntoFile();
还有两个不同的类,称为Apple和Mango,它们实现VegetableCreation。
还有一个带有VegetableFactory方法的工厂类create():
public class VegetableFactory {
public VegetableCreation create(String arg0) {
if (arg0.equals("Apple"))
retur
嗨,我有一个抽象的超阶级水果和一些子类苹果,橘子,.
abstract class Fruit {
public abstract String getFruitName();
public static Fruit getInstance(String fruitName) {}
}
class Apple extends Fruit {
public String getFruitName() {return "Apple";}
}
其他水果子类和苹果是一样的。我希望实现水果的getInstance方法,例如,对于参数"Apple“,它返回一个Appl
在我的程序中,我需要创建xls或xlsx文件,使用属性文件中的一个选项选择文件类型。
这就是如何使用java代码切换xls和xlsx文件类型的方法。
关于xls:
Workbook workbook = new XSSFWorkbook();
对于xlsx:
Workbook workbook = new HSSFWorkbook();
我要做的是,为了创建每个文件,我检查了包含属性文件中的文件类型选项的变量。
if(variable which contains the filetype option in properties has xls )
{
Workbook work
我有一个简短的Java问题。哦,我对Java和stackoverflow都是新手,所以请多加考虑:)
让我试着更好地解释一下我的问题。所以我有两个遵循单例模式的类,比如A类和B类:
public class A
{
private static final A INSTANCE = new A()
public static A getInstance()
{
return A.INSTANCE;
}
}
public class B
{
private static final B INSTANCE = new B()
用java.util.function.Function实现工厂设计模式正确吗
在下面的示例中,我使用函数引用实例化了一个Person类型的对象。
import java.util.function.Function;
public class Main {
public static void main(String[] args) {
Function<String , Person> myFunc = (String s) -> new Person(s);
Person p = myFunc.apply("John
我有一个超类Fruit和3个子类Apple,Pear和Banana。对于这3个子类,我有3个Spring data CrudRepositories。
水果是一个用@Entity和@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)注释的抽象超类
我有一个具有以下方法的FruitRepository:
@Query(value=""
+ "(SELECT * FROM Apple where assignedTo_guid = :guid )"
+ "UNION
下面是Seth博客“”中工厂构造函数的用法。
class Symbol {
final String name;
static Map<String, Symbol> _cache = new Map<String, Symbol>();
factory Symbol(String name) {
if (_cache.containsKey(name)) {
return _cache[name];
} else {
final symbol = new Symbol._internal(name);