我没有学习过设计模式,但我愿意打赌有一种模式适合我需要做的事情。我正在对几棵树运行一组不同的算法。它们都实现了一个接口:
public interface DistanceMetric {
public double distance(AbstractTree<String> t1, AbstractTree<String> t2);
}
public class concreteDistanceAlgorithmV1 implements DistanceMetric{
public double distance(AbstractTree<
这是TemplateMethod模式的一个例子吗?
public abstract class Character{
public final void useWeapon(){
useBusterSword();
useMateriaBlade();
useUltimateWeapon();
}
public abstract void useBusterSword();
public abstract void useMateriaBlade();
public abstract void useU
我试图理解策略模式,并问自己:上下文类必须拥有还是可以在不损害模式的目的的情况下忽略它?
我当时的印象是,我需要某种开关来读取不同类型的文件,但我不想只想破解一些东西,然后再处理重构(当然,代码总是可以重构的,但想法是:在设计之前尽量聪明.):
📷
从维基媒体获取的图像
客户端可以直接委托给策略接口,还是我刚刚错过了一些关于上下文类的理解?
interface Reader {
// read information from file and fill data list field of Client
readFile();
}
class ExcelReader impl
我一直在代码中使用模板设计模式来为不同的资源实现CRUD过程。
对于许多资源来说,有些步骤是相同的,有些步骤需要添加/重写。
ResourceCommonProcedures作为基类,每个资源过程继承基类。
public class ResourceCommonProcedures {
public Response create(Request request){
Response response = new Response();
int resType = this.getResourceType(request);
Res
在我的类中,我试图将行为和数据完全分离开来,并想出了一个简单的解决方案:
class ClassAData
{
public int Property1;
public string Property2;
public bool Property3;
}
class ClassA : SomeInterface
{
public ClassAData Data;
//behaviour
public int CalculateSomething(int value)
{
...
return resul