一般的程序都不这么设计。好的实践经验一般是允许用户有强大灵活的配置能力,这样可以方便用户对程序做各种定制,这种方法有很多好处:
虽然对初学者来说配置起来可能会麻烦,但一是初学者要求不高,多半合理的默认配置可以满足需要。二是实在不行初学者也可以在身边找个高手配置一下。
另一方面配置文件可以随考随用,重装系统也不用重新学习。去别人家临时用一下,只要带个配置文件就行了(储存在网盘上也是个不错的选择)。
另外学习机制也有很多不好的地方。它很可能既记录你好的习惯,也记录你坏的习惯。而且如果它会自己学习,就意味着你可能不能全面的控制它的行为。
使用软件,至少按照现在的理念,最好是能把软件的一切行为置于用户的掌控之下。另外还会引发一大堆备份上的问题,重装软件或者重装系统就意味着重新学习肯定是受不了的。
而且楼上说的监控的行为多了,可能导致运行缓慢也是个问题。
不过现在也有一些软件和用户之前有一定的磨合机制(我感觉还称不上学习),会提供一些方便。但它只是软件中的一小类。
我这只是发表一下软件设计方面的事。如果是谈学习机制应该怎么实现,我就不是很懂了。