标签: facade

DTO中的公共字段和域对象

我正在为一个项目进行代码审查.您可以在以下方案中看到它的架构:

系统架构

此时DTO - 简单的POJO和域 - 包含Hibernate anotations.据我所知,使用DTO的一个好处是,您可以将所有域字段设置为公共字段,并使用getter和setter删除所有存根代码.这是正确的方法吗?

您如何看待从DTO中删除getter和setter?也许有一些专业人士在Groovy中实现DTO?

怎么想的呢?

java architecture getter facade dto

3
推荐指数
1
解决办法
1579
查看次数

试图通过使用Singleton来确定此代码是否会带来任何好处

我正在开发一个项目,其中一个联合开发人员(和以前的开发人员)使用Singleton/Facade几乎每个页面的内部都有很多方法调用,但实际上并没有维护数据.

例如:

public class FooFacade
{
    private static FooFacade m_facade = null;
    private static DataAccessManager m_dataAccessMgr = null;

    public StringBuilder Status {get; set; }

    private FooFacade()
    {
        this.Status = new StringBuilder();
    }

    public static FooFacade getInstance()
    {
        if (m_facade == null)
        {
            m_dataAccessMgr = DataAccessManager.getInstance();
            m_facade = new FooFacade();
        }

        return m_facade;
    }

    public void clearStatus()
    {
        this.Status.Remove(0, Status.Length);
    }

 public void Method1(string value1, int value2)
    {
     // DO SOMETHING
    }


 public List<string> Method2(string value1, int value2)
    {
     // DO …
Run Code Online (Sandbox Code Playgroud)

c# asp.net singleton design-patterns facade

3
推荐指数
1
解决办法
130
查看次数

使用部分类而不是Facade模式本身就是反模式吗?

几年前,我被告知要在单独的.cs文件中实现业务逻辑代码,尽管这些文件包含了相同的分部类.所以可以从业务层调用一个方法,如下所示:

using(FooPartialDisposableClass partialClassInstance = new FooPartialDisposableClass ())
partialClassInstance.BusinessMethod();
Run Code Online (Sandbox Code Playgroud)

好.所以现在,我正在做同样的事情,这次我正在使用Facade模式.这个解决方案似乎是一种更好的方法,即使你必须编写更多的代码并且它的可维护性更低.

那么,我的问题是......按照部分类方法是否正确?

PS:我还想到了接口和依赖注入,以便将这一层与将要使用这些业务逻辑方法的层分离,但是考虑到这里的工作方式,这是一个禁忌:S

c# facade partial-classes

3
推荐指数
1
解决办法
1113
查看次数

java集合门面

我需要创建一个采用TreeSet或HashSet的Facade.它的构造函数必须如下所示:

CollectionFacadeSet(java.util.Collection<java.lang.String> collection)
Run Code Online (Sandbox Code Playgroud)

我导入java集合并使用此行:

Collections <String> collection = new Collections<>();
Run Code Online (Sandbox Code Playgroud)

但是,java不接受它,我收到一个错误:

  • 类型集合不是通用的; 它不能用参数参数化
    • 类型集合不是通用的; 它不能用参数<>进行参数化

任何解决方案

谢谢!

java collections facade

3
推荐指数
1
解决办法
432
查看次数

"控制器"是Facade模式的一个例子吗?

我的问题很简单.今天,前端和后端都有很多框架,它们实现了MVC(模型 - 视图 - 控制)架构.

"MVC中的控制器"是Facade Design Pattern的一个例子吗?

model-view-controller design-patterns controller facade object-oriented-analysis

3
推荐指数
1
解决办法
1664
查看次数

Laravel使用的Facades是什么?

我对Laravel提供的Facades感到困惑.

Laravel文档状态:

Facade为应用程序服务容器中可用的类提供"静态"接口.Laravel拥有许多外墙,可以使用几乎所有Laravel的功能.Laravel外观充当服务容器中底层类的"静态代理",提供简洁,富有表现力的语法,同时保持比传统静态方法更多的可测试性和灵活性.

请帮我理解:

  1. 为什么我们真正使用use Illuminate\Support\Facades
  2. 如何创建自定义外墙?

php facade laravel-5 laravel-facade

3
推荐指数
2
解决办法
5672
查看次数

"Facade设计模式"和Java界面在概念上是一样的吗?

"Facade设计模式"和Java界面在概念上是一样的吗?因为两者都通过提供表达复杂功能的简单方式来实现抽象.我们可以通过创建界面来说我们遵循Facade模式吗?

java design-patterns interface facade

3
推荐指数
1
解决办法
1507
查看次数

Laravel 5.7 中的 Arr::get() 与 data_get()

使用data_get()辅助函数,我们可以使用点.表示法获取嵌套数组的值,如下所示:

$my_arr = [
    'a' => ['lower' => 'aa', 'upper' => 'AAA',], 
    'b' => ['lower' => 'bbb', 'upper' => 'BBBBB',],
];
Run Code Online (Sandbox Code Playgroud)

因此,我可以a通过这样做来降低。

data_get($my_arr, 'a.lower');
Run Code Online (Sandbox Code Playgroud)

您还可以执行以下操作。

Arr::get('a.lower');
Run Code Online (Sandbox Code Playgroud)

如果我只想获得数组的第一级。我只能两者兼得:

data_get($my_arr, 'a');
Run Code Online (Sandbox Code Playgroud)

或者

Arr::get($my_arr, 'a');
Run Code Online (Sandbox Code Playgroud)

你推荐我哪一个,为什么?我只是想不断改进我的 Laravel 体验,并从高级开发人员那里获得好的建议,以选择目前最好的选项。

php arrays facade laravel-5

3
推荐指数
1
解决办法
5691
查看次数

内部使用调用Facade可以吗?

我最近看到一个带有Facade模式的 EJB 代码,它提供了一些在表示层 (JSF) 中使用的方法。但在业务逻辑的某些部分,会调用并使用Facade的方法。

这对我来说有点奇怪,因为我认为外观应该服务于外部世界而不是内部功能。我是对的还是我偏执了?

这是一个粗略(愚蠢)的图表来说明这种情况:

Facade 的愿望

java design-patterns facade

2
推荐指数
1
解决办法
1349
查看次数

调用未定义的方法Collective

我是laravel的新手,我在集体Laravel的安装方面遇到了一些问题,尽管我对照集体拉拉维尔的安装指南进行了更正.

FatalErrorException in Facade.php line 217:
Call to undefined method Collective\Html\FormFacade::open()
Run Code Online (Sandbox Code Playgroud)

在我安装的所有版本(5.1,5.2,5.3)中,在源代码中调用表单类时,我有相同的错误:

 {!! Form::open(['url' => 'foo/bar']) !!}
    some code
{!! Form::close() !!}
Run Code Online (Sandbox Code Playgroud)

Tks帮助我.

forms facade laravel laravelcollective

2
推荐指数
1
解决办法
2857
查看次数