2011-03-31 63 views
0

我完全新的设计模式......下面就是我following..can任何人请告诉我的优点和缺点是西隧的建筑...设计模式问题

  • 实体 - >由>数据访问层 - - 与获取/设置方法
  • DAL性质的>处理分贝执行
  • BLL->业务逻辑层
  • UI - >用户界面

假设我们有一个客户表customeridcustomername

所以实体将有customeridcustomername

  • UI获得组属性 - >将通过customeridcustomername到BLL
  • BLL->做验证它传递给DAL
  • DAL - >将它推到数据库

我真的不知道有这么多的图层...

回答

1

设计模式并没有真正定义您提到的主题。毫无疑问,它们是解决方案的一部分。

设计模式是软件设计中常见问题的通用可重用解决方案。

很多时候很难概念化为何设计模式是值得的,直到你终于开始编码,以满足一些这些标准的项目:

  • 谦虚复杂的应用
  • 多个程序员参与
  • 测试在实施过程中很重要
  • 您的应用程序的可伸缩性在将来很重要(对于需要调整的程度有多大的限制)
  • 也是一样的应用

您还可以在列表的灵活性上面,因为一些原因很多程序员选择在某些情形下的设计模式。认识到尽管模式非常酷并且通常看起来像辉煌的解决方案很重要,但您应该权衡自己是否需要特定项目。否则,您可能很容易受Pattern Mania的影响。

= d

1

设计模式一个伟大的书是O'Reilly的 “Head First设计模式”。它对我非常有帮助。它向您展示了多么好的设计和关注点分离使维护和重新使用更容易。一个承认有多个层次的是,它需要更多的计划,但最终还是要弥补。

1

你所描述的各层分别有一个独立的角色:

  • 用户界面呈现给用户,并允许用户交互
  • 的BLL验证用户输入的数据&理智
  • 的DAL提供一致/连贯的数据库接口

从接口分离数据验证有很多优点 - 例如安全性,或possi能够(根本)改变用户界面而不改变应用程序的核心。这是模型 - 视图 - 控制器设计模式的基本前提之一。从业务逻辑

分离数据库的访问可以让你改变你的数据库实现,数据库模式等没有在同一时间更改业务逻辑,从而去耦合两个,

功能去耦应用程序的不同部分允许您独立地测试这些部分,维护它们(相对)独立,等等。从长远来看,它避免了维护人员的头痛,并且经常会出现错误。