小编Ale*_*ore的帖子

干掉这些类的最佳方法是什么,除了构造函数之外的所有内容都是重复的

所以我做了一些重构,我的两个类现在看起来完全一样,除了它们的构造函数.

这些类包装了一个不太漂亮的API对象,并添加了属于API边缘的一些功能.

class A extends API {
  public A {
    this.APIOption = Option1;
    this.AnotherAPIOption = Option2;
    // a few more
  }

  public ArrayList<String> somethingTheAPIDoesntDo() {
    // Do something the API doesn't provide but I use alot
  }
  // Other shared methods
}

class B extends API {
  public B {
    this.APIOption = Option3;
    this.AnotherAPIOption = Option4;
    // a few more
  }

  public ArrayList<String> somethingTheAPIDoesntDo() {
    // Do something the API doesn't provide but I use alot
  }
  // Other shared …
Run Code Online (Sandbox Code Playgroud)

java oop refactoring dry

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

Java和Hyper-V

我正在尝试学习一些关于JAVA的东西,最好的方法是创建一些我实际使用的东西并知道它的目的是什么.我正在尝试与HyperV(WMI库)进行通信.

比如我发现以下内容,我的问题是:如何使用它?我正在使用Netbeans来创建GUI.

http://www.paulneve.com/wlab/javadoc/org/paulneve/wlab/virtualisation/VirtualisationAccessHyperVImpl.html

另外,如何将jInterop加载到我的项目中,以便我可以使用它?

谢谢.

java wmi user-interface netbeans hyper-v

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

具有许多角色的自定义CodeAccessSecurityAttribute

我正在为我们的应用程序开发一些基于角色的安全性,并且我本质上是想进行自定义的Verison MVC- AuthorizeAttribute但仅限于业务逻辑层,在该层我们不链接到MVC。

我看过了,PrincipalPermissionAttribute但由于密封,似乎没有办法自定义它。我只想创建一个自定义版本,可以在不使用多个属性的情况下检查任何角色列表中的成员身份,还可以定义在哪里查找角色成员身份。

.Net中缺少类似的内容吗?还是有人在不重新实现ASP.Net的AuthorizeAttribute / RoleProvider / etc的情况下对此有一些见识?

编辑

我目前正在运行命令式版本,但我宁愿使用声明式属性版本,因为在方法/类上方更容易看到它。

现在,我在业务层的抽象基类中具有以下内容:

protected void EnsureEditorLevelAccess()
{
    var allowedRoles = new[]
                            {
                                Roles.Administrator,
                                Roles.Editor,
                            };

    var roles = GetAccountRoles(GetCurrentUsername());

    if (roles.Any(role => allowedRoles.Contains(role)))
    {
        return;
    }

    throw new SecurityException("You do not have sufficient privileges for this operation.");
}
Run Code Online (Sandbox Code Playgroud)

我喜欢使用Roles.Administratoretc,因为角色名称很丑陋(基于Active Directory组...),所以我考虑将这些详细信息包装在自定义属性的构造函数中,我可以将其放到类/方法之上。

GetAccountRoles 只是可注入角色提供程序属性的外观,我可以将其设置为使用AD或使用数据库的测试版本。

我可以继承子类Attribute,但不确定如何启动安全检查。

.net c# code-access-security security-roles declarative-authorization

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

在客户端 - 服务器的三层软件架构中封装层

客户端 - 服务器范例的三层软件体系结构有三个不同的层:

  1. 表示层 - 用户可以直接访问的层,例如UI或网页.也称为客户端.

  2. 应用层 - 该层封装业务逻辑(如业务规则和数据验证),域概念,数据访问逻辑等.也称为中间层.

  3. 数据层 - 用于存储应用程序数据的外部数据源,例如数据库服务器.

为什么将单独层的逻辑封装在单独的软件模块中是有利的?

encapsulation distributed-computing

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