简丽Framework-开篇

简丽Framework 是一个开源java Web开发框架。

​ 开源的框架、库、组件等比比皆是,每个开源产品都有它的定位和价值。

​ 简丽Framework的定位是中小型Web项目的主体开发框架,它包含了对设计理念、开发规范、基础模块的理解和实践。

数据本无形

​ Web系统主要处理的就是数据和业务逻辑。一般来说数据的存储结构相对稳定,映射到代码中的数据对象也相对稳定。

​ 但是数据的中间处理过程往往是复杂、多变的,为此就有了设计模式和开发手册上提到的DTO、VO对象。在实际开发过程中使用DTO,VO对象会有一系列令人纠结的问题:我要不要再增加一个DTO?对新增加的DTO我该取什么名字?前端又在报怨后端VO对象返回的数据字段过多了...

​ 用静态、强类型语言来表达千变万化的数据本来就是勉为其难的事情。好在我们现在有json这样的动态弱类型数据对象,让结构化数据的表达和传递变得轻盈,从此告别了笨重的DTO、VO们。

​ 用动态弱类型数据对象可能有什么问题?我们失去了编译器的帮助,代码重构将只能手动进行。得失与取舍需要自己来衡量。

方法亦多态

​ 多态性通常指在运行时调用子类的方法。但其实Web系统的业务领域用到继承的场景并不多(硬要为每个Service写一个接口的场景除外 _),所以多态性也显得少有用武之地。

​ 我们把多态的概念扩展一下,变成运行时调用指定对象的指定方法如何?

​ 通过Spring容器可以得到指定对象,通过反射来调用指定方法。

​ 似乎变得有些扑朔迷离了,这样做有什么好处?

​ 我考虑一下,下回再写...

最新文章

  1. React 还是 Vue: 你应该选择哪一个Web前端框架?
  2. Python Select 解析
  3. Java tomcat启动失败(Servlet3.0 Web Project):A child container failed during start
  4. ubuntu如何开启root,如何启用Ubuntu中root帐号
  5. Perl参考函数
  6. 理解Flight框架核心
  7. BigInteger
  8. IE查看控件时常
  9. BNU OJ 50997 BQG's Programming Contest
  10. Aspose.Cells.dll操作execl
  11. Spring初始化ApplicationContext线程托管实际运用架构构思
  12. 随便讲讲我对于svn和git的想法
  13. Linux 高性能服务器编程——Linux服务器程序规范
  14. 《前端之路》之三 数组的属性 && 操作方法(下)
  15. Python之抽象类、抽象方法
  16. Windows server 2016安装Docker EE
  17. 将web应用部署到Tomcat的三种方式
  18. Codeforces Round #408 (Div. 2) 题解【ABCDE】
  19. Zookeeper 在Linux系统的安装
  20. iOS-动画之CoreAnimation框架(转载)

热门文章

  1. 提交的忠金融的bug
  2. 推荐系统实践 0x07 基于邻域的算法(2)
  3. Pytest学习(十二)-生成HTML报告插件之pytest-html的使用
  4. CoProcessFunction实战三部曲之一:基本功能
  5. Java 关于策略模式+简单工厂模式下的思考
  6. CentOS6.5&7更改开机启动时的CentOS标题
  7. 并发编程实战-J.U.C核心包
  8. 半夜删你代码队 Day2冲刺
  9. 题解-[ZJOI2005]沼泽鳄鱼
  10. STL——容器(Map & multimap)的简述与构造