预言需求

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/geyunfei_hit/article/details/99374047


预言需求

楔子

认识了一位艺术家朋友,在他的引导下,开始看一些艺术展,看各种油画,水墨,水彩————屡屡为在那种固化颜料之下的展现的波光粼粼而赞叹不已。

在另一位朋友的安利下,我迷上音乐,沉迷古典。

在流连这些艺术中时,我总在不停的感叹:好的艺术,一定是不朽的,我们可以听20年前的流行,欣赏200年前的古典,欣赏百十年前的毕加索。

每有这些感慨,我总自惭形愧,作为软件工程师,代码总是暂时的,短暂的,甚至从写下的那一刻起,就是过时的。

我们甚至在今天通宵去写一个只在明天运行一次的脚本。

是的,悲观的角度看,我们一直在做无用功

于是,我总会想,如何写出'不朽'的代码,让自己的工作,尽可能的完美,尽可能延长他的运行周期。

对我来讲,这种方式,应该是预见需求,即预期在一个时间内,你接到的需求去如何的变化,当这种变化发生时,你的设计去如何的应对。

是的,想一个预言家一样,去给你的代码预知一段时间内的未来。

好的工程师,都应该是预言家

那么今天这篇,就从一个非常小的需求,聊聊我是怎么去做预言家,给代码卜卦。

需求

这是我在之前的东家接到的一个需求,当时我们用php的laravel框架已经实现了后台服务并预期上线。

因为我们本质上是一个理财的网站,刚上线时效果不是很好,于是PM说,我们要给新注册的用户发券,促进他们消费。

是的,我们的需求很简单,在用户注册时,给用户发券

也就是说,需求是这个样子:

640?wx_fmt=png

第一次实现

在当时,我们已经有了auth/user/register接口,里面调用了userService这个类的一个newUser的方法,这个方法里实例化了一个userData,它生成了一个userModel,并把它加到数据库中。大概是这个样子:

userControler/register|-userService/newUser|--userData/newUser|---userModel/create|----mysql ...

那么直观的解决方式 我们只要有一个coupon的实现(data/model) ,然后在userServicenewUser方法里调用newCoupon就可以了。

于时我们代码这个样子就可以:

userControler/register|-userService/newUser|--userData/newUser|---userModel/create|----mysql ...|--couponData/newCoupon|---couponModel/create|----mysql ...

可是,这样真的可以了么?这个需求,会有什么变化?

深挖需求

之前说过,我们的需求是在用户注册时,送消费券 这个需求,有两个关键点,即什么时间————用户注册,做什么事情————送消费券

那么,从时间行为两个维度考虑后继可能发生的变化:

  1. 时间问题

  • 只在用户注册时发券么?

  • 用户登录时会不会发券?

  • 用户购买的时候会发券么?

  • 用户充值的时候会发券么?

  1. 行为问题

  • 我们只会发券么?

  • 我们有没有可能发现金?(理财体验金,你懂的)

  • 我们有没有可能加入邀请返现?

也就是说,我们的需求,有可能变成这个样子:

640?wx_fmt=png

在想到这些可能到来的变化后,我不得不重新审视自己的设计……

进一步的考虑

在发现我的需求可能的变化后,我开始考虑,怎么去应对未来的变化,那么我的设计的目的变成了:

  1. 以一种通用的方式实现送券;

  2. 用合适的方式获知用户注册这个时间点;

  3. 尽可能简单的把1和2串联到一起;

救星:观察者

在猜想需求变化时,我意外的发现,laravel 中的model是有观察者的,即你可以定向的观察某个model(mysql)中的操作: 像这样,先定义一个observer :

namespace App\Observers;use App\User;class UserObserver{    /**     * Handle the User "created" event.     * @param  \App\User  $user     * @return void     */    public function created(User $user)    {        //    }    /**     * Handle the User "updated" event.     * @param  \App\User  $user     * @return void     */    public function updated(User $user)    {        //    }    /**     * Handle the User "deleted" event.     * @param  \App\User  $user     * @return void     */    public function deleted(User $user)    {        //    }}

然后,在serviceProvider里注册这个:

namespace App\Providers;use App\User;use App\Observers\UserObserver;use Illuminate\Support\ServiceProvider;class AppServiceProvider extends ServiceProvider{    /**     * Register any application services.     * @return void     */    public function register()    {        //    }    /**     * Bootstrap any application services.     * @return void     */    public function boot()    {        User::observe(UserObserver::class);    }}

这正是标准的观察者模式,并且,重要的一点,我们在php是可以不用类型传参的(或是在java里Object)之类,所以,我们的objectServer 变成了:

class CommmonObserver{        public function created($item)    {        //    }    public function updated($item)    {        //    }    public function deleted($item)    {        //    }}

实现: 时机的问题

有了laravel底层的observer,那么用观察者模式捕获用户注册这个时间点就方便了:

class ServiceProvider{    /**     * Bootstrap any application services.     * @return void     */    public function boot()    {        User::observe(CommonObserver::class);    }}

如果我们的CommonObserver只给user这一个model用,那么这部分可以到此为止了,但是我们希望再有类似问题,都可以用类似的方式处理,在这种方式下,变成了:

class CommmonObserver{        public function created($item)    {        raise_event($item,'created');    }    public function updated($item)    {        raise_event($item,'updated');    }    public function deleted($item)    {        raise_event($item,'deleted');    }}

raise_event中,我们这样处理:

function raise_event($item,$event){    //getName    $model_name = get_class($item);    //map to event ..}

这时,我们可以定义一个类似的array:

return [    "App\User"=>[        "created"=>"userRegister"    ],    "App\UserLoginLog"=>[        "created"=>"userLogin"    ],    // other event base model];

这样可以得到这个array后,在raise_event中去将具体的事件生成; 这时,我们的需求,受设计影响成为了这样: 

640?wx_fmt=png

实现: 行为的问题

我们解决了时机,那么行为就变得容易了。根根上文,不难看出,我们在实现行为时可以得到三个参数:

  1. event ---- 我们定义的事件,比如userRegister

  2. db_operation ---- db的操作,比如update,create

  3. data_item ---- 对应的数据,比如user的实体。

注意一点,其实在进行后继业务处理时,我们不用去关注db_operation这个参数,因为其实event确定的话,db_operation就确定了。

因为我们不能只关注送券这一件事情,所以,我们要有一个约定(inteface)去承接相应的事件处理;

interface IEventHandler{    function handle($event,$item);}

然后可以实现一个AddCouponHandler:

class AddCouponHandler{    public function handle($event,$item){        //相关的操作    }}

那么,怎么关联到一起?哈哈,嗯,如你所愿,我们再来个array:

return [    "userRegister"=>[        AddCouponHandler::class,        //other handler    ],    "userLogin"=>[        //other handler    ],    //];

这样,我们的设计最终变成了这个样子: 

640?wx_fmt=png

理想主义的形式

我们在这个需求的第一版的迭代上,加入了这种设计,然后随着后继的迭代,我们又做了如下的更改:

  1. 对要发送的model进行处理,将db的原始数据进行裁剪,形成了统一的数据约定;

  2. 将event的处理变成了异步。

这时,我们的设计就成为了这种:

640?wx_fmt=png

小结

我们将一个看似简单的需求————注册送券,无限的复杂化,去预测这个需求可能发生的迭代,可能产生的变化。在这里,我们使用观察者模式,实现了对现有代码的扩展,同时,运用了大量的工厂模式(array). 在保证实现基础的基础上,我们做到了:

  1. 对原有代码实现了非侵入的扩展(user相关的内容没有更改)。

  2. 加入的所更改都是以增加为主;

  3. 新的业务逻辑是低耦合甚至完全解耦的。

  4. 为以后可能的变化留出了充足的时间。

后记

我其实在很久之前写过一篇类似的,但总是觉得文不对题,词不达意,这次算是新瓶旧酒了,各位一乐。


展开阅读全文

7个顶级心理预言

02-25

七个受用一生的心理寓言rnrn(一)成长的寓言:做一棵永远成长的苹果树rn rn一棵苹果树,终于结果了。rn第一年,它结了10个苹果,9个被拿走,自己得到1个。对此,苹果树愤愤不平,于是自断经脉,拒绝成长。第二年,它结了5个苹果,4个被拿走,自己得到1个。“哈哈,去年我得到了10%,今年得到20%!翻了一番。”这棵苹果树心理平衡了。rn但是,它还可以这样:继续成长。譬如,第二年,它结了100个果子,被拿走90个,自己得到10个。rn很可能,它被拿走99个,自己得到1个。但没关系,它还可以继续成长,第三年结1000个果子……rn其实,得到多少果子不是最重要的。最重要的是,苹果树在成长!等苹果树长成参天大树的时候,那些曾阻碍它成长的力量都会微弱到可以忽略。真的,不要太在乎果子,成长是最重要的。rn rn【心理点评】你是不是一个已自断经脉的打工族?rn刚开始工作的时候,你才华横溢,意气风发,相信“天生我才必有用”。但现实很快敲了你几个闷棍,或许,你为单位做了大贡献没人重视;或许,只得到口头重视但却得不到实惠;或许……总之,你觉得就像那棵苹果树,结出的果子自己只享受到了很小一部分,与你的期望相差甚远。rn于是,你愤怒、你懊恼、你牢****满腹……最终,你决定不再那么努力,让自己的所做去匹配自己的所得。几年过去后,你一反省,发现现在的你,已经没有刚工作时的激情和才华了。rn“老了,成熟了。”我们习惯这样自嘲。但实质是,你已停止成长了。rn 这样的故事,在我们身边比比皆是。rn之所以犯这种错误,是因为我们忘记生命是一个历程,是一个整体,我们觉得自己已经成长过了,现在是到该结果子的时候了。我们太过于在乎一时的得失,而忘记了成长才是最重要的。 rn好在,这不是金庸小说里的自断经脉。我们随时可以放弃这样做,继续走向成长之路。rn切记:如果你是一个打工族,遇到了不懂管理、野蛮管理或错误管理的上司或企业文化,那么,提醒自己一下,千万不要因为激愤和满腹牢****而自断经脉。不论遇到什么事情,都要做一棵永远成长的苹果树,因为你的成长永远比每个月拿多少钱重要。rn rn(二)动机的寓言:孩子在为谁而玩rn rn一群孩子在一位老人家门前嬉闹,叫声连天。几天过去,老人难以忍受。rn于是,他出来给了每个孩子25美分,对他们说:“你们让这儿变得很热闹,我觉得自己年轻了不少,这点钱表示谢意。”rn孩子们很高兴,第二天仍然来了,一如既往地嬉闹。老人再出来,给了每个孩子15美分。他解释说,自己没有收入,只能少给一些。15美分也还可以吧,孩子仍然兴高采烈地走了。rn第三天,老人只给了每个孩子5美分。rn孩子们勃然大怒,“一天才5美分,知不知道我们多辛苦!”他们向老人发誓,他们再也不会为他玩了!rn rn【心理点评】你在为谁而“玩”rn这个寓言是苹果树寓言的更深一层的答案:苹果树为什么会自断经脉,因为它不是为自己而“玩”。rn 人的动机分两种:内部动机和外部动机。如果按照内部动机去行动,我们就是自己的主人。如果驱使我们的是外部动机,我们就会被外部因素所左右,成为它的奴隶。 rn在这个寓言中,老人的算计很简单,他将孩子们的内部动机“为自己快乐而玩”变成了外部动机“为得到美分而玩”,而他操纵着美分这个外部因素,所以也操纵了孩子们的行为。寓言中的老人,像不像是你的老板、上司?而美分,像不像是你的工资、奖金等各种各样的外部奖励?rn如将外部评价当作参考坐标,我们的情绪就很容易出现波动。因为,外部因素我们控制不了,它很容易偏离我们的内部期望,让我们不满,让我们牢****满腹。不满和牢****等负性情绪让我们痛苦,为了减少痛苦,我们就只好降低内部期望,最常见的方法就是减少工作的努力程度。rn一个人之所以会形****部评价体系,最主要的原因是父母喜欢控制他。父母太喜欢使用口头奖惩、物质奖惩等控制孩子,而不去理会孩子自己的动机。久而久之,孩子就忘记了自己的原初动机,做什么都很在乎外部的评价。上学时,他忘记了学习的原初动机———好奇心和学习的快乐;工作后,他又忘记了工作的原初动机——— 成长的快乐,上司的评价和收入的起伏成了他工作的最大快乐和痛苦的源头。rn切记:外部评价系统经常是一种家族遗传,但你完全可以打破它,从现在开始培育自己的内部评价体系,让学习和工作变成“为自己而玩”。rn rn(三)规划的寓言:把一张纸折叠51次rn rn想象一下,你手里有一张足够大的白纸。现在,你的任务是,把它折叠51次。那么,它有多高?rn一个冰箱?一层楼?或者一栋摩天大厦那么高?不是,差太多了,这个厚度超过了地球和太阳之间的距离。rn rn【心理点评】rn到现在,我拿这个寓言问过十几个人了,只有两个人说,这可能是一个想象不到的高度,而其他人想到的最高的高度也就是一栋摩天大厦那么高。rn折叠51次的高度如此恐怖,但如果仅仅是将51张白纸叠在一起呢?rn这个对比让不少人感到震撼。因为没有方向、缺乏规划的人生,就像是将51张白纸简单叠在一起。今天做做这个,明天做做那个,每次努力之间并没有一个联系。这样一来,哪怕每个工作都做得非常出色,它们对你的整个人生来说也不过是简单的叠加而已。rn当然,人生比这个寓言更复杂一些。有些人,一生认定一个简单的方向而坚定地做下去,他们的人生最后达到了别人不可企及的高度。譬如,我一个朋友的人生方向是英语,他花了十数年努力,仅单词的记忆量就达到了十几万之多,在这一点上达到了一般人无法企及的高度。rn也有些人,他们的人生方向也很明确,譬如开公司做老板,这样,他们就需要很多技能———专业技能、管理技能、沟通技能、决策技能等等。他们可能会在一开始尝试做做这个,又尝试做做那个,没有一样是特别精通的,但最后,开公司做老板的这个方向将以前的这些看似零散的努力统合到一起,这也是一种复杂的人生折叠,而不是简单的叠加。rn切记:看得见的力量比看不见的力量更有用。 rn现在,流行从看不见的地方寻找答案,譬如潜能开发,譬如成功学,以为我们的人生要靠一些奇迹才能得救。但是,在我看来,东莞恒缘心理咨询中心的咨询师毛正强说得更正确,“通过规划利用好现有的能力远比挖掘所谓的潜能更重要。”rn rn(四)逃避的寓言:小猫逃开影子的招数rn rn“影子真讨厌!”小猫汤姆和托比都这样想,“我们一定要摆脱它。”rn然而,无论走到哪里,汤姆和托比发现,只要一出现阳光,它们就会看到令它们抓狂的自己的影子。rn不过,汤姆和托比最后终于都找到了各自的解决办法。汤姆的方法是,永远闭着眼睛。托比的办法则是,永远待在其他东西的阴影里。rn rn【心理点评】rn这个寓言说明,一个小的心理问题是如何变成更大的心理问题的。rn可以说,一切心理问题都源自对事实的扭曲。什么事实呢?主要就是那些令我们痛苦的负****件。rn因为痛苦的体验,我们不愿意去面对这个负****件。但是,一旦发生过,这样的负****件就注定要伴随我们一生,我们能做的,最多不过是将它们压抑到潜意识中去,这就是所谓的忘记。rn但是,它们在潜意识中仍然会一如既往地发挥作用。并且,哪怕我们对事实遗忘得再厉害,这些事实所伴随的痛苦仍然会袭击我们,让我们莫名其妙地伤心难过,而且无法抑制。这种疼痛让我们进一步努力去逃避。rn发展到最后,通常的解决办法就是这两个:要么,我们像小猫汤姆一样,彻底扭曲自己的体验,对生命中所有重要的负****实都视而不见;要么,我们像小猫托比一样,干脆投靠痛苦,把自己的所有事情都搞得非常糟糕,既然一切都那么糟糕,那个让自己最伤心的原初事件就不是那么疼了。rn白云心理医院的咨询师李凌说,99%的****者有过痛苦的遭遇。他们之所以****,是为了让自己逃避这些痛苦。这就像是躲进阴影里,痛苦的事实是一个魔鬼,为了躲避这个魔鬼,干脆把自己卖给更大的魔鬼。rn还有很多酗酒的成人,他们有过一个酗酒而暴虐的老爸,挨过老爸的不少折磨。为了忘记这个痛苦,他们学会了同样的方法。rn除了这些看得见的错误方法外,我们人类还发明了无数种形形色色的方法去逃避痛苦,弗洛伊德将这些方式称为心理防御机制。太痛苦的时候,这些防御机制是必要的,但糟糕的是,如果心理防御机制对事实扭曲得太厉害,它会带出更多的心理问题,譬如强迫症、社交焦虑症、多重人格,甚至精神****症等。rn 真正抵达健康的方法只有一个———直面痛苦。直面痛苦的人会从痛苦中得到许多意想不到的收获,它们最终会变成当事人的生命财富。rn 切记:阴影和光明一样,都是人生的财富。 rn一个最重要的心理规律是,无论多么痛苦的事情,你都是逃不掉的。你只能去勇敢地面对它,化解它,超越它,最后和它达成和解。如果你自己暂时缺乏力量,你可以寻找帮助,寻找亲友的帮助,或寻找专业的帮助,让你信任的人陪着你一起去面对这些痛苦的事情。rn美国心理学家罗杰斯曾是最孤独的人,但当他面对这个事实并化解后,他成了真正的人际关系大师;美国心理学家弗兰克有一个暴虐而酗酒的继父和一个糟糕的母亲,但当他挑战这个事实并最终从心中原谅了父母后,他成了治疗这方面问题的专家;日本心理学家森田正马曾是严重的神经症患者,但他通过挑战这个事实并最终发明出了森田疗法……他们生命中最痛苦的事实最后都变成了他们最重要的财富。你,一样也可以做到。rn rn(五)行动的寓言———螃蟹、猫头鹰和蝙蝠rn rn螃蟹、猫头鹰和蝙蝠去上恶习补习班。数年过后,它们都顺利毕业并获得博士学位。不过,螃蟹仍横行,猫头鹰仍白天睡觉晚上活动,蝙蝠仍倒悬。rn rn【心理点评】rn这是黄永玉大师的一个寓言故事,它的寓意很简单:行动比知识重要。rn用到心理健康中,这个寓言也发人深省。rn心理学的知识堪称博大精深。但是,再多再好的心理学知识也不能自动帮助一个人变得更健康。其实,我知道的一些学过多年心理学的人士,他们学心理学的目的之一就是要治自己,但学了这么多年以后,他们的问题依旧。rn 之所以出现这种情况,一个很重要的原因是,他们没有身体力行,那样知识就只是遥远的知识,知识并没有化成他们自己的生命体验。rn 我的一个喜欢心理学的朋友,曾被多名心理学人士认为不敏感,不适合学心理学。但事实证明,这种揣测并不正确。他是不够敏感,但他有一个非常大的优点:知道一个好知识,就立即在自己的生命中去执行。这样一来,那些遥远的知识就变成了真切的生命体验,他不必“懂”太多,就可以帮助自己,并帮助很多人。rn 如果说,****感度是一种天才素质,那么高行动力是更重要的天才素质。 rn这个寓言还可以引申出另一种含义:不要太指望神秘的心理治疗的魔力。最重要的力量永远在你自己的身上,奥秘的知识、玄妙的潜能开发、炫目的成功学等等,都远不如你自己身上已有的力量重要。我们习惯去外面寻找答案,去别人那里寻找力量,结果忘记了力量就在自己身上。rn 切记:别人的知识不能自动地拯救你。rn 如果一些连珠的妙语打动了你,如果一些文字或新信条启发了你。那么,这些别人的文字和经验都只是一个开始,更重要的是,你把你以为好的知识真正运用到你自己的生命中去。 rn犹太哲学家马丁·布伯的这句话,我一直认为是最重要的:rn 你必须自己开始。假如你自己不以积极的爱去深入生存,假如你不以自己的方式去为自己揭示生存的意义,那么对你来说,生存就将依然是没有意义的。rn rn (六)放弃的寓言:蜜蜂与鲜花rn rn玫瑰花枯萎了,蜜蜂仍拼命****,因为它以前从这朵花上****过甜蜜。但是,现在在这朵花上,蜜蜂****的是毒汁。rn蜜蜂知道这一点,因为毒汁苦涩,与以前的味道是天壤之别。于是,蜜蜂愤不过,它吸一口就抬起头来向整个世界抱怨,为什么味道变了?!rn终于有一天,不知道是什么原因,蜜蜂振动翅膀,飞高了一点。这时,它发现,枯萎的玫瑰花周围,处处是鲜花。rn rn【心理点评】rn这是关于爱情的寓言,是一位年轻的语文老师的真实感悟。rn有一段时间,她失恋了,很痛苦,一直想约我聊聊,希望我的心理学知识能给她一些帮助。我们一直约时间,但快两个月过去了,两人的时间总不能碰巧凑在一起。rn最后一次约她,她说:“谢谢!不用了,我想明白了。”rn原来,她刚从九寨沟回来。失恋的痛苦仍在纠缠她,让她神情恍惚,不能享受九寨沟的美丽。不经意的时候,她留意到一只小蜜蜂正在一朵鲜花上采蜜。那一刹那间,她脑子里电闪雷鸣般地出现了一句话:“枯萎的鲜花上,蜜蜂只能****到毒汁。”rn当然,大自然中的小蜜蜂不会这么做,只有人类才这么傻,她这句话里的蜜蜂当然指她自己。这一刹那,她顿悟出了放弃的道理。以前,她想让我帮她走出来,但翅膀其实就长在她自己身上,她想飞就能飞。rn 放弃并不容易,爱情中的放弃尤其令人痛苦。因为,爱情是对我们幼小时候的亲子关系的复制。幼小的孩子,无论从哪个方面看,都离不开爸爸妈妈。如果爸爸妈妈完全否定他,那对他来说就意味着死亡,这是终极的伤害和恐惧。我们多多少少都曾体验过被爸爸妈妈否定的痛苦和恐惧,所以,当爱情———这个亲子关系的复制品再一次让我们体验这种痛苦和恐惧时,我们的情绪很容易变得非常糟糕。rn不过,爱情和亲子关系相比,有一个巨大的差别:小时候,我们无能为力,一切都是父母说了算;但现在,我们长大了,我们有力量自己去选择自己的命运。可以说,童年时,我们是没有翅膀的小蜜蜂,但现在,我们有了一双强有力的翅膀了。rn但是,当深深地陷入爱情时,我们会回归童年,我们会忘记自己有一双可以飞翔的翅膀。等我们自己悟出这一点后,爱情就不再会是对亲子关系的自动复制,我们的爱情就获得了自由,就有了放弃的力量。rn切记:爱情是两个人的事情,两个完全平等的、有独立人格的人的事情。你可以努力,但不是说,你努力了就一定会有效果,因为另一个人,你并不能左右。rn所以,无论你多么在乎一次爱情,如果另一个人坚决要离开你,请尊重他的选择。rn并且,还要记得,你不再是童年,只能听凭痛苦的折磨。你已成人,你有一双强有力的翅膀,你完全可以飞出一个已经变成毒药的关系。rn rn(七)亲密的寓言:独一无二的玫瑰rn rn小王子有一个小小的星球,星球上忽然绽放了一朵娇艳的玫瑰花。以前,这个星球上只有一些无名的小花,小王子从来没有见过这么美丽的花,他爱上这朵玫瑰,细心地呵护她。rn那一段日子,他以为,这是一朵人世间唯一的花,只有他的星球上才有,其他的地方都不存在。rn然而,等他来到地球上,发现仅仅一个花园里就有5000朵完全一样的这种花朵。这时,他才知道,他有的只是一朵普通的花。rn一开始,这个发现,让小王子非常伤心。但最后,小王子明白,尽管世界上有无数朵玫瑰花,但他的星球上那朵,仍然是独一无二的,因为那朵玫瑰花,他浇灌过,给她罩过花罩,用屏风保护过,除过她身上的毛虫,还倾听过她的怨艾和自诩,聆听过她的沉默……一句话,他驯服了她,她也驯服了他,她是他独一无二的玫瑰。rn “正因为你为你的玫瑰花费了时间,这才使你的玫瑰变得如此重要。”一只被小王子驯服的狐狸对他说。rn rn【心理点评】rn这是法国名著《小王子》中一个有名的寓言故事,我曾读过十数遍,但仍然是直到2005年才明白这一点。rn面对着5000朵玫瑰花,小王子说:“你们很美,但你们是空虚的,没有人能为你们去死。”rn 只有倾注了爱,亲密关系才有意义。但是,现在我们越来越流行空虚的“亲密关系”,最典型的就是因网络而泛滥的****。rn我们急着去拥有。仿佛是,每多拥有过一朵玫瑰,自己的生命价值就多了一分。网络时代,拥有过数十名情人,已不再是太罕见的事情。但我所了解的这些滥情者,没有一个是不空虚的。他们并不享受关系,他们只享受征服。rn “征服欲望越强的人,对于关系的亲密度越没有兴趣。”广州白云心理医院的咨询师荣玮龄说,“没有拥有前,他们会想尽一切办法拉近关系的距离。但一旦拥有后,他们会迅速丧失对这个亲密关系的兴趣。征服欲望越强,丧失的速度越快。”rn对于这样的人,一个玫瑰园比起一朵独一无二的玫瑰花来,更有吸引力。rn然而,关系的美,正在乎两人的投入程度和被驯服程度。当两个人都自然而然地去投入,自然而然地被驯服后,关系就会变成人生养料,让一个人的生命变得更充盈、更美好。 rn 但是,无论多么亲密。小王子仍是小王子,玫瑰仍是玫瑰,他们仍然是两个个体。如果玫瑰不让小王子旅行,或者小王子旅行时非将玫瑰花带在身上,两者一定要黏在一起,关系就不再是享受,而会变成一个累赘。 rn 切记:一个既亲密而又相互独立的关系,胜于一千个一般的关系。这样的关系,会把我们从不可救药的孤独感中拯救出来,是我们生命中最重要的一种救赎。rn如果不曾体验过,你就无法知道这种关系的美。rn 论坛

移动互联网与大数据时代的五十个预言

10-13

 第一, 未来的商业rnrn  预言一:数据总线+插拔式业务组织将成为企业常态rnrn  预言二:企业的部落结合打破传统边界rnrn  预言三:跨界与颠覆成为常态,不再有稳定的生意rnrn  预言四:智慧资产的保护藩篱被打破,火速创新成为主流rnrn  预言五:专业化、个人化的工坊将再度复兴rnrn  预言六:对于设计的高度重视将体现在企业的各个方面rnrn  预言七:极致主义将成为企业创新的文化rnrn  预言八:创新英雄将不再被赋予强盗资本家的印象rnrn  预言九:在大数据的作用下,消费者日益变得赤裸,消费者代言机构强势崛起rnrn  预言十:商铺的一般体验已经远远不够,需要像剧场一样形成与线上的高度差异化rnrn  预言十一:CIO将成为首席洞察官,跻身于仅次于CEO的核心层rnrn  预言十二:资本与创业者的矛盾加剧,企业的治理结构发生巨大变化rnrn  第二,教育的探索rnrn  预言十三:对于儿童心理世界的理解与运用将发生革命性变化rnrn  预言十四:创新代际下移,少年极客不断涌现rnrn  预言十五:体验式课堂将是学习完成变为学生主导型学习rnrn  预言十六:面向网络的公共道德教育与价值观教育占据重要地位rnrn  预言十七:学习碎片化已经被普遍接受并得到支持rnrn  预言十八:学术进一步市场化,学术与商业、公众的边界进一步打破rnrn  第三,传媒巨变rnrn  预言十九:新媒体业已经完全占据媒体主流rnrn  预言二十:在海量信息时代,消费者心智受到快速专业解读者高度影响rnrn  预言二十一:自媒体大兴其道,成为社会人的标配rnrn  预言二十二:随着屏一代成为社会主流,加速整个世界的电子化、数字化和工具化rnrn  预言二十三:电影与电视产业将成为资本与互联网业的结合体rnrn  预言二十四:媒体业已经开始很难被定义为独立产业rnrn  预言二十五:时代主流话语碎片化、世俗化,大时代不复存在rnrn  预言二十六:社会以某种宽容机制确保另类信息的表达与传播rnrn  预言二十七:大量的志愿型、公益型媒体出现rnrn  第四,家庭的探索rnrn  预言二十八:出现专业化家庭幸福托管行业rnrn  预言二十九:回归家庭的简朴生活价值观大兴其道rnrn  预言三十:旅游人口的激增带来了车联网成为社会基础设施rnrn  预言三十一:新一代懂互联网的老年人,使老年生活形态发生巨大变化rnrn  预言三十二:电子产品的广泛化造成了严重的家庭沟通不足,由此带来的心理疾病激增rnrn  预言三十三:女性在家庭与社会中的影响力显著上升,开启她世纪rnrn  预言三十四:年轻人的主流价值观发生改变,做自己的理念汇成洪流rnrn  第五,新型社会rnrn  预言三十五:社会型企业大兴其道,成为衔接公益与商业的桥梁rnrn  预言三十六:对于科技创新的抵触感加剧了人们追求心灵觉醒的愿望rnrn  预言三十七:健康主义者开始成为社会人群中数量庞大并具有影响力的人群rnrn  预言三十八:知识化、专业化的新蓝名阶层出现rnrn  预言三十九:人们对于电子化、数字化、社交化工具的高度依赖,造成了系统性风险累积rnrn  预言四十:类似于梭罗的理念大兴其道,价值观进一步分化rnrn  预言四十一:商业交易过程开始变为买卖双双的及积极心理过程rnrn  预言四十二:技术的进步支持人们越来越多样的多样化探索rnrn  第六,文艺的再造rnrn  预言四十三:网络开始成为艺术传播的主流渠道rnrn  预言四十四:大批个体艺术家崛起,个人策展开始规模出现rnrn  预言四十五:深度阅读崛起,带动文学复兴rnrn  预言四十六:东方哲学思想得到越来越多的认同,并被纳入政治、商业、教育的各个范畴rnrn  预言四十七:音乐的创作与传播已经开始充分的互动化rnrn  预言四十八:大批被数字化的艺术遗产,带动了艺术价值的传播rnrn  预言四十九:历史得到大数据的支持,以多种艺术形态为当代人接受rnrn  预言五十:馈赠分享、专业多元、自我赋权、多样探索开始成为当代人主流观念。rnrn   论坛

【提问提问提问】需求需求还是需求

03-03

需求上还是很多不清楚的。rn想请有做过这方面的给个参考rn[code=C#]rn//以下是我这个网站的操作规则rn1 用户rn1.1 会员rn会员的获取途径:rn充值购买、排行榜第一名赠送、棋牌活动奖励、推广员奖励。rn会员可以使用网站的所有功能,但某些道具和功能,会员会受到一定的限制。rn具体的在功能、道具中说明。rn会员每个正点定时在线:则系统向会员赠送所有的礼物道具各一个。rn1.2 非会员rn进行过简单注册的用户,便是我们的非会员用户。rn非会员拥有个人空间,但没有与其他会员、非会员的交互功能。不可以使用“会员特权”模块。rn非会员可以通过购买、使用道具来完成于其他用户的交互。具体的在功能、道具中说明。rn1.3 游客rn游客可以进入的页面:rn首页、网站主题页面、搜索页面、商城、成功故事、推广员、充值rn游客只可进入到其他用户的个人空间页面,若还想进一步操作,跳转到登入页面。rn但游客可以完整的看到充值页面,游客可以在不登入的时候完成充值操作。rn1.4 用户属性rn1.4.1 人气rn影响人气的东西:礼物道具、充值、日记点击量、日记回复量、心情点击量、心情回复量、投票点击量、投票参与量、约会点击量、约会参与量rn影响的途径 影响值rn鲜花 +10rn臭鸡蛋 -10rn鞭炮 +10rn充值 1rmb+10rn日记点击量 +1rn日记回复量 +2rn心情点击量 +1rn心情回复量 +2rn投票点击量 +1rn投票参与量 +3rn约会点击量 +4rn约会参与量 +5rnrn会员:拥有此属性rn非会员:拥有此属性rn游客:无此属性。rn1.4.2 会员等级rn等级 数值 图标rn1 50 rn2 100 rn3 200 rn4 400 rn5 800 rn6 1600 rn7 3200 rn8 6400 rn9 12800 rn获得途径 在线累计满一小时+1rn人气影响 10人气+1rn2 道具rn玩家点击提示框中的“确定”按钮时使用道具,若道具数量不足,则直接跳转到商城主页面。rn2.1 功能性道具rn名字:放大镜rn说明:使非会员用户,有一次机会查看任何一位会员的个人空间的个人信息。rn消耗:1个rn时限:使用后消失。rn触发该道具提示语句的条件:rn当非会员用户点击,会进入个人空间的链接时弹出对话框。rn提示语句:rnrnrnrnrnrn名字:飞鸽传书rn说明:使非会员用户可以查看一条,其他用户给他的留言。rn消耗:一个rn时限:使用后消失。rn触发该道具提示语句的条件:rn当非会员用户进入邮箱,点击具体的某条留言时弹出提示框。rn提示语句:rnrnrnrnrnrnrnrnrn名字:会员rn说明:将非会员用户升级成会员,享受会员服务。rn消耗:一个rn时限:30天rnrn名字:势不可挡rn说明:使非会员用户,可以在对方不是自己好友的情况下,向对方发送留言。rn消耗:一个rn时限:使用后消失。rn触发该道具提示语句的条件:rn当非会员用户,要给不在好友列表中的用户留言时弹出提示框。rn提示语句:rnrnrnrnrnrnrnrnrn名字:沙发rn说明:可以使会员在回复别人的日记、心情时,将自己的回复帖子排在第一位。rn当同一篇日记、心情的回帖,被2个以上的用户使用“沙发”置顶时,消耗“沙发”多的用户的回帖被置顶。rn消耗:∞rn时限:使用后消失。rn触发该道具提示语句的条件:rn当用户完成回帖操作,且不处于沙发位置时弹出对话框。rn提示语句:rnrnrnrnrnrnrnrnrn若置顶帖已经使用过沙发,则提示:rnrnrnrnrnrnrnrnrn名字:51令牌rn说明:使非会员用户可以发起、响应会员发出的活动一次。rn 使非会员用户可以回复会员在个人空间中发表的心情、日记一次。rn消耗:一个rn时限:使用后消失。rn触发该道具提示语句的条件:rn当非会员用户发起、响应会员发出的活动,或者回复会员在个人空间中发表的心情、日记时弹出对话框。rn提示语句:rn发起活动rnrnrnrnrnrnrnrnrn响应活动rnrnrnrnrnrnrnrnrn回复日记rnrnrnrnrnrnrnrnrn回复心情rnrnrnrnrnrnrnrn2.2 礼物道具rn名字:鲜花rn说明:“鲜花”只可以赠送给其他用户,增加对方的人气。rn消耗:一个rn时限:永久有效。rnrn名字:臭鸡蛋rn说明:“臭鸡蛋”只可以赠送给其他用户,减少对方的人气。rn消耗:一个rn时限:永久有效rnrn名字:鞭炮rn说明:“鞭炮”只可以增加自己的人气。rn消耗:一个rn时限:永久有效rn3 游戏币与人民币的比值rn1rmb=100游戏币rn完成注册送100游戏币,填写基本资料送10游戏币,填写详细注册送10游戏币rn填写个人介绍送10游戏币,上传照片送50游戏币,填写联系方式送50游戏币rn4 功能rn4.1 会员搜索rn会员:无限制rn非会员:无限制rn游客:无限制。rn4.2 个人空间rn会员:部分限制。只有双方都是会员,且双方都在对方的好友列表中时所有功能无限制。rn 当对方不在你的好友列表中时,不可以使用留言功能。rn非会员:不可以使用“会员特权”模块。无法查看到会员的留言。不可以使用好友列表。rn游客:没有自己的个人空间。只能看到其他用户个人空间的主页。rn4.2.1 好友列表rn会员:拥有自己的好友列表。可以+其他用户为好友。rn非会员:拥有自己的好友列表。但不可以+其他用户为好友。rn游客:无此功能。rn4.2.2 我的相册rn会员:无限制rn非会员:无限制rn游客:无此功能rn4.2.3 我的邮箱rn会员:无限制。可以查看、回复好友的留言。rn非会员:部分限制。只可接收好友的留言。但无法查看、回复。rn通过“飞鸽传书”可以查看留言,“势不可挡”可以给对方留言。rn游客:无此功能rn4.2.4 个人信息rn会员:无限制rn非会员:无限制rn游客:无此功能rn4.2.5 参与活动rn会员:无限制rn非会员:只可查看,不可参与。通过使用道具51令牌可参与。rn游客:无此功能rn4.2.6 我的日记rn会员:无限制rn非会员:只可编写自己的日记、心情。不可查看投票。通过使用道具51令牌可参与。rn游客:无此功能rn4.2.7 会员搜索rn会员:无限制rn非会员:无此功能。rn游客:无此功能rn4.2.8 会员速配rn会员:无限制rn非会员:无此功能。rn游客:无此功能rn4.2.8.1 会员速配规则rn按照以下所给的属性一次配对:rn男、女互配rn优先查找以下属性一致的:rn所在地、学历、血型、出生地、个性、优势、兴趣爱好rn以下属性值男性要比女性略高(差异越大越好):rn身高:男>女10cm、收入:男>女1000以上rn4.2.9 发起投票rn会员:无限制rn非会员:无此功能。通过使用道具51令牌可参与。rn游客:无此功能。rn4.2.10 找人约会rn会员:无限制rn非会员:无此功能。通过使用道具51令牌可参与。rn游客:无此功能。rn4.2.11 游戏币rn会员:无限制rn非会员:无限制rn游客:无此功能rn4.2.12 道具rn会员:无限制rn非会员:无限制rn游客:无此功能rn4.3 商城rn会员:无限制rn非会员:无限制rn游客:无此功能rn4.4 排行榜rn会员:无限制rn非会员:无限制rn游客:无限制rn24小时刷新一次rn除特定的排行榜以外,一个月结算一次。rn4.4.1 排行榜奖励机制rn人气排行榜:rn根据人气值的多少排名rn第一名奖励:会员(30天)rnrn财富排行榜:rn根据所持游戏币的多少排名rn第一名奖励:人气值+100rnrn总消费排行榜:rn依照游戏币的总消费值的多少排名rn第一名奖励:100元充值卡一张rn(3个月结算一次)rn日消费排行榜:rn依照从0点开始24小时结算一次,按消费值的多少排名rn第一名奖励:礼物道具各1个rn(每天结算一次)rnrn周消费排行榜:rn依照每个自然周按消费值的多少排名rn第一名奖励:5元充值卡一张rn(每周结算一次)rnrn月消费排行榜:rn依照每个自然月按消费值的多少排名rn第一名奖励:30元充值卡一张rnrn会员等级排行榜:rn依照会员等级多少排名rn第一名奖励:连续二周成为51爱主打会员rn(每周结算一次)rnrn照片排行榜:rn依照上传照片的多少排名rn第一名奖励:会员(30天)rnrn日记排行榜:rn依照日记的点击量的多少排名rn第一名奖励:会员(30天)rn4.5 充值rn会员:无限制rn非会员:无限制rn游客:无限制rn4.6 成功故事rn会员:无限制rn非会员:部分限制。不可上传rn游客:无限制。不可上传rn4.7 推广员rn会员:无此功能,只可查看主页面,可申请成为推广员。rn非会员:无此功能,只可查看主页面,可申请成为推广员。rn游客:无此功能,只可查看主页面,可申请成为推广员。rnrn[/code]rnrn[color=#FF0000]希望有经验又不忙的朋友可以帮我参考一下。我现在还在数据库设计阶段。rn因为数据库也算占整个项目中比较大家的比重了rn所以我不想以后总改来改去的,就算要改,也不太动太大的手术这种,所以麻烦大家参考下了rn数据表的链接在这里[/color]rn[url=http://topic.csdn.net/u/20100303/13/56bf5260-717a-4a83-9408-6393ebf7dda4.html?95661]请点我[/url] 论坛

没有更多推荐了,返回首页