我必须构建一个动态规则引擎,比如Java,其中用户可以定义特定的筛选器列表,并根据它们触发特定的事件。这些规则将是一长串条件,例如:
if
condition1 AND (condition2 OR condition3) AND condition4
then
trigger(event)
其中conditionN是基于业务对象的属性的任何操作。例如:一个字符串可以有一个操作- endsWith或一个数字可以有操作greaterThan。
问题是,这个规则列表不会被硬编码,必须从数据库中动态获取(一个单独的web UI将用规则更新这个数据库),并针对一个实体运行,然后触发对
我正在用java重构一个代码库。因为业务对象和数据库objects.But有不同的包,它们中的大多数属性都是相同的,这是在声纳报告这一点后引起我的注意的。所以我在考虑创建一个通用的父类,然后所有的BO(业务对象)和DO(对象)都可以扩展它?我的疑问是,BO和DO对象都有一个共同的父类是不是一个好主意?如果是,那么我可以把这个公共的父类放在哪里?在BO包中,是打包还是创建新的Commons包? 当前设计的示例: Package BO:
Class B01
{
int a
int b
//getter setter for a and b;
}
Class B02:
{
in
我有一个带有这些框架的Java MVC应用程序,我想知道我的实现是否符合MVC模式:
控制器层(V)
我在用JSF
@ManagedBean
public class Controller{
@ManagedProperty("#{business}")
private Business business;
public void insert(){
business.insert();
}
}
业务层(C)
我在用Spring
public interface Business{
public void insert(
当在不同的层中抛出错误时,进行异常处理的最佳实践是什么。
我有4层代码- DAO,服务,业务,表示。我正在尝试捕获dao层中的一些运行时异常,并希望它在表示层中显示一些message.Is,下面的方法是一个很好的方法?
在这里的代码片段中- DataException是我的运行时异常class.Service,业务异常类是我的检查异常实现类。
下面是代码片段:
在dao层中,一个方法检查数据库中的一些值。
class dao{
public User getUser() throws DataException{
User user = null;
try
{
//some operati
目前,我正在为CustomControl开发一个UnitTest。在此控件中有一些代码,只有在DesignTime中未调用被调用的方法时才会执行这些代码。当我运行测试时,给定的代码不会执行,因为当前上下文似乎是DesignTime。
示例:
public void SomeMethod() // EDIT: this is the OnLoaded Event for example.
{
if(IsNotInDesignMode()) // This is implemented somewhere else.
{
// I want this to be c
我有10个不同的jsp,他们中的每一个都有相似的标签<div class="content"/>,只有不同的风格。每个jsp都有标签、3个按钮和多个表单。我想知道,必须显示标签<div class="content"/>或不取决于2个按钮和1个表格,如果他们是填写,我需要显示内容。问:在每个jsp中使用JSTL或在Java方法中,以及在每个jsp中调用此方法,哪里能更好地创建检查条件?
使用Slice框架的PS i
假设我有一个有5个文本框的表单,我需要从数据库中提取一些数据,然后用该数据设置这5个文本框。
所以假设我有三个基本层:
default.aspx页面背后的代码
与DAL联系的BLL类
和数据访问层(DAL)
但是我听说和阅读过default.aspx页面不应该知道sqldatareader,实际上您可能不想将sqlclient名称空间添加到页面后面的default.aspx代码中。
所以我以前做过这样的事情:
protected sub DisplayCustomerData()
Dim s as SqlDataReader
Dim b as BLL
b=new BLL
我开始使用领域驱动的设计,并有一个关于_ValueObject_s的问题:
它们能包含不变量或其他规范吗?
考虑一个不变的ValueObject:
ValueObject (
prop integer: Int
prop string: String
// Value and copy constructor
// Observers for integer and string
// Equality methods on integer and string value
)
我可以添加一些不变量,使整数>0&< 42。或者他们必须是简单的转