博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(原創) 写程序时,要同时以Class Creator和Class User的角色来写程序 (OO) (.NET) (N-Tier) (C/C++)...
阅读量:7216 次
发布时间:2019-06-29

本文共 1040 字,大约阅读时间需要 3 分钟。

在上C++正式第一堂课时,第一张slide讲到Modern C++的教学原则与方法:当写程序时,要我们将Class Creator和Class User的角色分开,就算整个Project都是自己一个人写,也要自己分饰Class Creator和Class User两种角色,不能彼此混淆。

这看似很简单的一句话,却有很深的意义。
很多人抗拒OO的理由,认为OO只是将原来一个Function可以做的事情,拆成很多Object而已,这样只会将原本很简单的事情,弄成更复杂。PetShop就是个例子,原本一个Project就可做的事情,却要分成这么多个Project来做。若整个Project只看完成的结果,而只是以一个人开发的角度去思考,就无法了解OO。所以这里才特别强调Class Creator和Class User,最少,你要想象这个Project有两个人在开发,一个为Class Creator,专门负责设计Class,也可以称做Server Programmer,一个为Class User,专门负责用其它人开发的Class,也可以称做Client Programmer,两个人各司其职,一起开发这个Project。
这样分成两个人开发有什么好处呢?
1. 分工合作,可以开发出更大的Project。
2. Class Creator专心设计Class,和UI没有关系。
    A. 所以其它Project也可重复使用这些Class。
    B. 若UI改变,如Windows程序改成Web程序或改成手机程序,由于Class没和UI绑在一起,其它UI可以重复使用这些Class。
    C. Class若改变,只需修改Class程序,UI程序不用跟着修改。
3. Class User只需专注于UI设计与了解如何使用那些Class即可。
当Project由两个人合作时,就会发现这样的分工是合理的,同理,既然两个人开发是如此,更多人开发时更是如此,OO其实衍生出来的就是N-tier,OO是N-tier背后的理论,N-tier是OO的实做。所以以后我们开发程序时,不要如学校写作业一样,只想着做出答案而已,应该同时以Class Creator和Class User的角色开发程序,先扮演Class Creator的角色开发出Class,然后扮演Class User角色开发出执行的UI,事实上,不仅Modern C++如此,C#、Java也是如此,OO和N-tier的观念是不分程序语言的。

转载地址:http://gwxym.baihongyu.com/

你可能感兴趣的文章
致橡树
查看>>
一段测试代码,哦哦哦,
查看>>
uiimagepickercontroller,中文,--》摘
查看>>
第四次作业
查看>>
在python中调用js或者nodejs
查看>>
【年终总结】2年计划还是要有的,万一实现了呢?(转自叶小钗)
查看>>
数字图像处理学习笔记(1.1)---位图的读写、几何变换、傅里叶变换、直方图均衡...
查看>>
javascript数组顺序-----1冒泡的另一种比较好理解的写法
查看>>
数据结构-栈的实现之行编译器核心实现
查看>>
C++ Project 积累(2)
查看>>
(1)用VisualSvn Server,Tortoise Svn,AnkhSvn搭建Svn版本控制
查看>>
Mysql索引
查看>>
格式化输出
查看>>
hdu 3804 Query on a tree (树链剖分+线段树)
查看>>
定位、指南针、地理编码
查看>>
Kafka 简介
查看>>
MySQL 用户连接与用户线程
查看>>
RabbitMq、ActiveMq、Kafka和Redis做Mq对比
查看>>
C# 图片处理(压缩、剪裁,转换,优化)
查看>>
Linux bridge-utils tunctl 使用
查看>>