这段时间在北京这边做开发,是在.NET 平台上的spring.net+NHibernate+SQL SERVER 2008的集成的开发。
由于是spring的技术,所以这个项目有很浓厚的MVC是缩影。我们现在的开发模式是这样:MVC模式三层都有我们A方这边的程序员开发,我们的查询业务基本上依赖于SP,SP由B方方面开发,但是由于需求做的不完善,以及B方方面对需求的理解的不完善,导致SP经常改动。但是SP的每次改动了之后,我们开发应用程序这边的程序人员却不知道,除非是这边的程序员去调试以前已经开发好的程序,不然基本上是很难发现他们修改了存储过程。而且,存储过程的修改,带来的不仅仅只是页面表现层的数据绑定的问题,在模型层的domain和dto很有可能都要随之改动。就算B方方面修改了SP第一时间通知了我们,我们修改相应的模型层对象,以及重新构造层与层之间的访问参数以及返回类型也是相当费时的事情。
这里并不是说领域模型的不好,面向对象的开发,以及更加全面深入的去了解自己所开发的域对象,这样当然是更好。但是就我们这个项目目前的开发方式和现状来说,效率是相当低下了。数据库是基础,SP是根基,SP的修改直接影响上层建筑,而SP的控制权却不在我们A方这边,B方是要完完全全的控制业务,我们A方所需要做的事情,就是按照他们的文档来开发,甚至都不用知道业务,纯粹是填代码的机械活了。还不如从一开始,就让A方来做设计工作(包括业务的设计和数据库的设计,我们A方并不是没有能力设计这个问题)。
分享到:
相关推荐
该系统采用 B/S 架构、前后端分离和 B/C 模型设计,旨在解决传统购物方式的效率低下、安全性低和信息传输不准确等问题。该系统主要实现了用户注册、登录、购买美食过程、个人信息修改等功能,并提供了管理员对用户...
面向对象程序设计是一种现代的软件开发方法,与传统的面向过程编程有着显著的区别。在面向过程编程中,程序是由一系列函数和数据结构组成的,而数据结构和处理数据的函数通常是分离的。这种分离导致了一些弊端,比如...
在早期的软件开发中,数据往往存储在文件中,然而随着数据量的增长及应用需求的多样化,文件存储方式逐渐暴露出诸多弊端: 1. **文件安全性问题**:文件系统容易受到非法访问或恶意破坏,缺乏有效的权限控制机制。 ...
模型层主要负责数据的存储和管理,以及业务逻辑的实现。在Java Web开发中,模型层通常由Java类(JavaBean或DAO)构成,它们与数据库交互,处理数据查询、更新等操作。模型层与视图和控制器完全解耦,确保即使视图或...
生信息管理系统是一个...总的来说,这个学生信息管理系统是一个典型的CS(计算机科学)项目,涵盖了数据库设计、前端界面开发、权限管理等多个IT领域的知识,对于学习和实践Java编程以及软件工程流程有着重要的价值。
该系统的设计和实现基于 Spring Boot 框架,采用了前后端分离的架构设计。前端使用 HTML、CSS 和 JavaScript 等技术,实现了用户界面与交互逻辑的设计。后端使用 Spring Boot 框架,实现了业务逻辑和数据存储的处理...
- **持久层设计与实现**: 持久层主要负责与数据库的交互,实现数据的存储和检索功能。常见的技术包括Hibernate、MyBatis等ORM框架。 - **业务逻辑层的设计与实现**: 该层负责处理具体的业务规则和流程,通常会封装成...
本设计将探讨如何运用B/S三层架构、Mysql数据库和JSP技术来实现这样一个高效、稳定的公益平台。 2 B/S三层结构模型 B/S(Browser/Server)三层结构模型是一种常见的Web应用架构,包括表现层(浏览器)、业务逻辑层...
由于视图层和业务层分离,因 此更改视图层代码不需要重新编译模型和控制器代码,使得应用程序更易于维护和修 改。 ### 1.2 Swing界面开发 Swing是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具...
- **分离业务逻辑与界面**: 采用分层架构,将业务逻辑抽象为独立的服务层,界面层则专注于视图和控制器。 - **服务层**: 包括`Admin.Service.php`和`Emp.Service.php`等文件,封装具体的业务操作。 - **模型层**: ...
数据独立性分为物理独立性和逻辑独立性,使得应用程序与数据的存储方式分离,降低了维护成本,提高了数据的复用性。数据模型是数据库系统的基础,包括数据结构、数据操作和数据完整性约束,它是现实世界的一种抽象,...
该系统采用 B/S 架构、前后端分离以及 MVC 模型进行设计,并使用 Java 语言和 SpringBoot 框架进行开发。 系统需求分析 在电影院订票中,传统的人工管理方法存在许多弊端,如效率低下、安全性低以及信息传输的不...
1. 数据独立性:数据库设计的目标之一是实现数据独立性,即数据的逻辑结构与物理结构分离,以及应用程序与数据的存储方式分离。题目中提到的“三层模式”,指的是外模式(用户视图)、模式(逻辑模式)和内模式...
MVC设计模式是一种软件设计模式,用于将应用程序分为三个主要组件:模型(Model)、视图(View)和控制器(Controller),以此简化复杂的业务逻辑,提高应用程序的可维护性。MVC中的模型代表了应用程序的数据和业务...
系统结构清晰,易于维护,具有良好的扩展性和模块复用性,采用MVC(Model-View-Controller)设计模式,分离界面设计和功能实现,提升开发效率。 3. **系统特点** - **模块化**:开发层次分明,便于维护和扩展。 -...
3) 系统设计:设计系统架构,包括前后端交互机制、数据库模型以及业务逻辑处理。 4) 功能实现:具体实现系统各项功能,如用户注册登录、土地资源展示、租赁订单处理、反馈建议管理等。 5) 系统测试:对系统进行全面...
持久化层(Data Access Object, DAO)是一种软件设计模式,用于提供一种方法将数据访问机制与高层的应用程序业务逻辑分离开来。DAO 层通常包括对数据源的 CRUD(create, retrieve, update, delete) 操作。 **2.3 ORM...
在软件开发领域,Java开发工具包(Java Development Kit,简称JDK)是开发和运行Java程序必不可少的基础。JDK6作为历史版本,尽管已被更新版本取代,但对于学习Java历史、理解经典API以及兼容旧项目仍然具有重要价值...