Java富客户端企级快速开发框架SOYFramework介绍(二)

来源:互联网 发布:talkingdata 数据科学 编辑:程序博客网 时间:2024/06/09 23:44

 完善的企业应用框架

       SOY框架是一个完整的企业应用解决方案。从表现层开发,业务逻辑开发,报表,权限,日志,国际化,部署, 企业应用的各个环节SOY都提供支持。

  B/S,C/S优势互补,随需应变

       单一的运用B/S架构和C/S架构的系统往往不能满足业务应用。SOY框架采用B/S和C/S相结合的方式, 相互取长补短;在用户数较大,潜在用户不确定且用户功能较简单的应用使用B/S开发; 而在用户比较固定,且用户交互较复杂的应用采用C/S开发。当然根据业务应用的需要,用户也可以采用纯B/S或C/S的架构。

  全新的开发模式开发C/S客户端

       SOY框架主打使用C/S架构来开发应用。 SOY-Client采用全新的开发模式,完全使用组件化的开发方法, 提供大量的页面模板,组件和控件供开发人员使用, 开发人员可以轻松的开发在BS下几乎无法完成的具有较多用户交互的复杂界面。 对于一个熟悉框架的开发人员足以在半个小时内完成单个数据表的维护功能(从对象建模到数据库的生成, 再到数据的查,插,删,改),对于主从数据表的维护(如订单和订单条目的维护)不超过一个小时。 使得开发人员有更多的时间专注业务逻辑的开发。
       传统的界面开发都需要界面设计工具来辅助开发,开发人员往往手工调整控件大小,对齐等等, 设计界面就会花费大量的时间。而且界面设计工具自动生成大量的代码,极难维护。SOY提供自动布局界面的机制, 开发人员只需调用框架API,框架会自动布局组件生成界面,大大加快了用户界面的开发。
       表单开发的代码示例:

ModelForm form = new ModelForm(Orders.class);//构造订单表单String hqlCS = "from ChainStore c where c.code like ?";//往表单加入文本控件,维护流水号form.appendWidget(new Text(0,"serialNO").setReadOnly(true));//往表单加入外键控件,维护所属门店form.appendWidget(new Foreign(0,"chainStore",hqlCS,"code,name","name"));//往表单加入日期时间控件,维护最迟配送时间form.appendWidget(new DateTime(0,"deliveryTime",true));form.appendWidget(new Text(1,"customerName",true));form.appendWidget(new Text(1,"customerAddress",true));form.appendWidget(new Text(1,"customerPhone",true));//往表单加入下拉框,维护订单状态form.appendWidget(new List(2,"orderState",OrderState.values(),true));//往表单加入数字控件,维护重量体积form.appendWidget(new Decimal(2,"quantity"));form.appendWidget(new Decimal(2,"weight"));
       假定数据字典已经设置,以上代码将完成以下订单表单:
       表格开发的代码示例:
BaseHqlTable table = new BaseHqlTable(HqlTablepage.this, Orders.class) { //配置表格按钮动作@Overrideprotected BaseTableAction[] getAddationalActions() {return null;} //指定表格查询的HQL语句,将订单按照流水号升序排列@Overridepublic String getHql() {return "FROM Orders o ORDER BY o.serialNO ASC";}//配置需在表格中显示的订单的属性@Overridepublic Column[] getColumns() {  return new Column[]{createColumn("serialNO"),createColumn("createdUser"),createColumn("customerName"),//订单状态列,使用枚举格式化器createColumn("orderState",new Formatter.getEnumFormat(OrderState.values())),createColumn("quantity"),createColumn("weight"),createColumn("volumn"),createColumn("chainStore.name"),//生效日期,使用日期格式化器createColumn("activedDate", Formatter.getDateFormat()), //最迟配送时间,使用日期时间格式化器createColumn("deliveryTime", Formatter.getDatetimeFormat()),createColumn("deliveried"),createColumn("remarks"),  };}};table.showDefaultButton  = false;table.showScrollBar = true;
假设数据字典已经设置,以上代码将生成以下表格:

 

  Spring+Hibernate的轻量架构轻松开发业务逻辑

       SOY服务器端(SOY-Server)采用Spring+Hibernate的轻量级企业应用架构,并封装了和简化了数据库访问逻辑,可以帮助开发人员轻松的组织和开发业务逻辑,访问数据库,管理事务以及处理数据库并发。

  提升用户体验,提高最终用户满意度

       SOY框架在提升用户体验方面做了大量的工作,能在提高开发效率的同时让开发的界面使最终用户获得更好的用户体验。提高最终用户满意度。

  SOY框架是项目的积累和经验的总结

       没有大量的项目积累就不可能完成一个完善的框架, SOY框架的每个特性每个功能都来自实际项目的积累和总结, 对于大量典型的应用场景给出了最优的实践。 我们将项目中经常出现和通用的问题在框架中处理, 让用户尽可能的少走弯路和避免重复的发明轮子。 从而提升系统的质量和健壮性。

原创粉丝点击