惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
博客园 - 司徒正美
Hugging Face - Blog
Hugging Face - Blog
博客园 - 叶小钗
The Cloudflare Blog
D
DataBreaches.Net
J
Java Code Geeks
G
Google Developers Blog
L
LangChain Blog
N
Netflix TechBlog - Medium
Stack Overflow Blog
Stack Overflow Blog
月光博客
月光博客
酷 壳 – CoolShell
酷 壳 – CoolShell
WordPress大学
WordPress大学
小众软件
小众软件
量子位
Apple Machine Learning Research
Apple Machine Learning Research
P
Proofpoint News Feed
博客园_首页
罗磊的独立博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
B
Blog
腾讯CDC

博客园 - bmrxntfj

通过match看rust 聊一聊Rust的enum 折旧记录某旅纵横app分析研究 实现自己的js框架 实现自己的Linq to Sql 统一的仓储接口 ddd官方终于发布了一个完整的示例 浅谈值对象 prototype模式随想 ddd心得 ddd分层感想 小boss随想 论软件的价值 Composite模式随想 DDD书籍介绍 Bmrxntfj.UIMapper界面对象映射 闲来没事,写个老玩意 Strategy与Template Method 规格模式(Specification)
分层随想
bmrxntfj · 2008-11-11 · via 博客园 - bmrxntfj

层的基本原则:上层只能使用同层及其直接的下层。
我们使用层并赋予每一层特定的含义和职责来划分系统。
但是层的基本原则会引发另一些问题
1、比如:有5个层,第5层需要一个功能,这个功能在第1层已经实现,那么则需要在2,3,4层涵盖这个功能(Facade),
这里有两种做法,组合和继承,设计原则告诉我们组合优先于继承,但是这样做如果有10、20、。。。更多个方法,这样就充斥着大量的
Facade方法,这时就不得不放弃组合,选择继承(仿PetShop的项目居多,BLL变成了DAL的Facade,其实三层的划分并不完善,用PetShop说这个有点不合适).
2、有时我们需要下层调用上层,这个我以前也讨论过,PetShop就是这个例子。http://www.cnblogs.com/bmrxntfj/archive/2008/07/08/1237968.html
要解决以上问题,必须做以下几点
1、改变分层基本原则:上层能使用同层及其直接或间接的下层
2、确定以某一层为中心。
3、只能上层调用下层,不允许下层调用上层。