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

推荐订阅源

K
Kaspersky official blog
Martin Fowler
Martin Fowler
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
V
Visual Studio Blog
博客园_首页
Engineering at Meta
Engineering at Meta
The Cloudflare Blog
MongoDB | Blog
MongoDB | Blog
Blog — PlanetScale
Blog — PlanetScale
T
The Blog of Author Tim Ferriss
雷峰网
雷峰网
D
Docker
博客园 - 司徒正美
S
SegmentFault 最新的问题
M
MIT News - Artificial intelligence
博客园 - 叶小钗
博客园 - 三生石上(FineUI控件)
U
Unit 42
J
Java Code Geeks
A
About on SuperTechFans
N
Netflix TechBlog - Medium
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
S
Security Affairs
I
Intezer
Cisco Talos Blog
Cisco Talos Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
B
Blog RSS Feed
P
Privacy & Cybersecurity Law Blog
T
Tenable Blog
T
Threatpost
H
Hacker News: Front Page
G
Google Developers Blog
博客园 - 【当耐特】
Hugging Face - Blog
Hugging Face - Blog
Apple Machine Learning Research
Apple Machine Learning Research
L
Lohrmann on Cybersecurity
大猫的无限游戏
大猫的无限游戏
Google DeepMind News
Google DeepMind News
A
Arctic Wolf
S
Secure Thoughts
GbyAI
GbyAI
NISL@THU
NISL@THU
S
Security @ Cisco Blogs
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Webroot Blog
Webroot Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
O
OpenAI News
Spread Privacy
Spread Privacy
Application and Cybersecurity Blog
Application and Cybersecurity Blog

博客园 - AssionSoft

关于近期在网上看到很多招聘.NET开发的都要求懂ASP.NET MVC了 为什么?这到底是为什么?怎么会这样?天啊!因为什么啊? 面向销售人员和普通白领的个人SAAS服务软件大调查! 求职也是种无奈,早上搞了个求职Mail群发器! 求职真是个痛苦的过程! 白领理财计帐小软件,钱花的不明不白做个软件帮我理财! 性能陷井 北京.NET软件工程师求职,有招人的快来看看 使用电脑休息提醒专家第二版! 做的一个小程序,定时提醒休息。预防颈椎病人人有责! .net软件工程师求职(大连) 图片水印批量附加器(玩一玩,十年少) 换工作求职! 明星、炒作、FANS 最近开发智能网站发现的使用方法! 关于程序员的1号职业病-颈椎病 写了一个用于排序的存储过程,很笨很简单的代码! 毕业生找工作,能给个发展机会的请进来看看! 2007年11月8日,我的博客开通的日子!
面向对象开发中的对象构建(但是我们实际开发真的面向对象了吗?)
AssionSoft · 2009-01-19 · via 博客园 - AssionSoft

     向面对象开发,很好很强大。但是我们实际开发真的面向对象了吗?真的用到一些特性了吗?

     面向对象开发,首先就要脱离统着数据表找关系的模式了。一切都从对象(现实开始(当然要考虑你的对象的数据结构可行性,不过一般都是没有问题的。现实就是这样,最庞大的莫过于宇宙,但它也都是可描述的何况宇宙中的万物了)。下面通过一个示例来讨论一下。

     我们通过一个学校的关系来作为焦点(学校-班级-学生),说到这,大家可能就拍砖了,这么简单的关系。不就是一个一对多的关系吗?这样的数据表很容易实现嘛。确实,这样的关系不复杂可以说非常简单,不过话又说回来再复杂的关系不也是在这之上千变亿化了?话题不在于此我们转回……
    
     要实现这样一个关系我们可能就要建立三个对象了 school、class、student,具体的关系我们可以这样,表里的关系可能就是通过主从键建立的一对多的关系了,以至于建立对象的时候大家也还是保持这样的一对多的关系,以导至对象变成是描述表的了而不是描述现实世界了!这样面向对象还有何意义?数据查询的时候大家可以会通过对象关系或是建立出来一个新的“虚对象”来填充对象数据,这样是可以的,但不是很好的。(表的多对多关系转换到对象可以是虚对象来实现关系了)。

     这时大家不防回到现实中来,回想一下童年,回想一下自己的母校,我们美丽的校园(一个),学校里有好多不同的班级(多个),班级里面有好多我们戴着红领巾的同学(很多个),这样他们的关系也就出来了“一个学校可以有多个班级,一个班级可以有很多学生,一个班级只能属于一个学校同样一名学生只能属于一个班级”(注:这里不要想表那些关系,不要感觉它他很像,我们只观注现实),这样下面的对象就建立出来了:

school(name,address,List<class(name,address,school,List<student(name,sex,age,class,school>))
    这时我想找一名学生的基本信息,就可以student(name,sex,age)
    找一名学生的基本信息包托它的班级学校:sutdent(name,sex,age,class,school)
    找一个班级并知道这个班级所在的学校:class(name,address,school)
    找一个学校包括它所有的班级:school(name,address,List<class>)
    找一个学校所括它所有的学生:school(name,address,List<class(List<student>)>)
    等等我们都可以很灵活的就办到,到这里我们已经完全回忆起自己的母校了,突然发现自己的记忆力真棒(一个好的记忆方法(数据结构)和一个好的组织查询方法帮了很大的忙)。
    话题回到数据为操作上来,这些操作都很容易就可以实现了,一对多多对一的查询!

    等着拍砖了,等着骂我不要放到首页来(是看今天首页文章不多,不够大家看的嘛!)