秃头的十字架

      西方人常自称为十字架的文化——爱下一代。大家知道,美国是孩子的天堂,中年人的商场(等于赌场),老年人的坟场。到现在为止,西方文化的结晶就是如此,只知道爱下一代,下一代长大了,结婚了,就是夫妇。对父母、兄弟、姊妹都不管了。由男女变成夫妇,而家庭,而社会,而国家,横着向世界发展,又下而爱孩子。就这样循环下去。他们自认为是十字架的文化,我看这个十字架断了,是丁字架的文化,因为没有上半截了。我这样说他们也许不承认。但是谈自然科学,他们可以把我们当学生,谈到人文文化,他们作我们的学生还不够。美国立国才两百年,我们有五千多年历史,谈到人文文化,靠经验而来,尤其中国历史,多少失败,多少破碎,一直到现在,才完成了这个文化系统。当然他们不承认十字架文化没有上面,因为上面有上帝。但却看不见,摸不着,谁相信呢?姑且承认有上帝,但是由人到达上帝的桥梁,在中国文化有孝。“孝”是什么呢?就是他们西方文化叫的“爱”,也就是回过来还报的爱。就是说父母好比两个朋友,照顾了你二十年,如今他们老了,动不得了,你回过来照顾他,这就是孝。孝道的精神就在这里,假使一个人连这点感情都没有,就不行。

        那么西方文化有没有这个爱呢?绝对有,只是生活的方式不同而已。父母到子女家,尽管要事先写信给子女,使他得准备,子女还是会思念父母的。又如祭祖宗,西方人不一定清明节扫墓,但到了坟场,在亲人的坟墓前,悲哀的情绪是一样的,只是表达方法不同而已。遗憾的是,外国人没有把“孝道”在文化上培养起来的心理建设。   

       “孝”的问题解决了。什么叫作“弟”呢?“弟”就是兄弟姊妹的友爱。中国的五伦有君臣、父子、夫妇、兄弟、朋友。这五伦中四伦都讲得通,为什么加朋友这一伦?这就是中国文化的特点。朋友在五伦的思想上也占一席,为什么呢?有时候有许多话,许多心情和苦痛,上不可以对父母,下不可以对妻儿讲,只有找朋友讲,所以朋友为五伦之一。朋友是一种感情的结合,这是中国文化的特殊处,这个“弟”就包括了对兄弟、姊妹,一直到朋友,伸展到社会的友情。   

        说到这里,又一个故事来了。五六年前,哈佛大学社会学教授来访问,他问了好几个问题,中间他提到一个问题,他非常佩服我们《大学》一书的思想,“但是《大学》思想有一个问题”,他说:“我是一个社会学教授,而《大学》中有诚意、正心、修身、齐家、治国、平天下,其间没有社会思想,这是个遗憾。”我听了哈哈大笑,然后告诉他,《大学》思想包含有社会思想在内,其中“齐家”即是社会思想。中国“齐家”的家,不是到教堂中一结婚就成了家的家,那是西方文化小家庭制度的家。过去的中国文化是大家庭制度,有宗族、有祠堂,所谓五世同堂,聚族而居。大家庭固然有许多小毛病,但也有它的好处,像宗族的发展,即由此而起,这是孝道的精神。因此,我要重复说一句,“齐家”的“家”就是社会。   

        又如江西人称“老表”,是最亲切、最好的称呼。其由来是古时候战乱,江西人很多移民到湖南,许多年后,年轻的后代,还回到江西扫墓,而留在江西的后代子孙,以为是祖宗坟墓被他人误祭或盗葬,次年预先守候,两方相见,论起家族上代渊源,认出是表亲关系来,而称“老表”。这个“老表”就说明了宗法社会对血统、家族的重视。如以西方制度电气化的小家庭,来看我们“大家族”的“齐家”,岂不是大笑话?

### 关于软件设计模式的练习题与学习资源 #### 一、选择题示例 1. 下列哪一项不是单例模式的特点? A. 提供全局访问点 B. 确保类只有一个实例 C. 支持多线程环境下的安全创建对象 D. 可以有多个不同类型的子类实现 正确选项应为D,因为单例模式的核心在于确保整个应用程序生命周期内只存在一个特定类的对象实例[^1]。 2. 工厂方法模式的主要目的是什么? A. 定义一系列算法并将其实现封装起来 B. 创建一组相互协作的对象而不指定具体的类 C. 将复杂构建过程与其表示分离 D. 提供一种接口用于创建一族相关或依赖对象而不需要指明具体类别 正确答案是B,工厂方法通过定义一个用于创建对象的接口来达到解耦的目的。 #### 二、编程实践题目建议 尝试编写一段程序模拟观察者模式的应用场景。比如开发一个小工具,在用户订阅新闻频道后每当发布新消息时自动通知所有已注册的订户。这有助于深入理解如何利用该模式处理事件驱动型系统的松散耦合特性。 ```java // Java 实现简单版 Observer Pattern interface Subject { void registerObserver(Observer o); void removeObserver(Observer o); void notifyObservers(); } class NewsChannel implements Subject { private List<Observer> observers; public NewsChannel() { this.observers = new ArrayList<>(); } @Override public void registerObserver(Observer o) { ... } @Override public void removeObserver(Observer o) { ... } @Override public void notifyObservers() { /* Notify all registered users */ } } ``` #### 三、推荐的学习材料 - **书籍**:《Design Patterns: Elements of Reusable Object-Oriented Software》由Erich Gamma等人撰写,这是最经典的面向对象的设计模式指南之一。 - **在线课程**: Coursera上的“Object Oriented Programming in Java Specialization”,其中包含了大量有关OO原则及其应用的实际案例分析。 - **网站资源**: Refactoring.Guru提供了多种语言版本的设计模式解释以及相应的代码片段,非常适合初学者入门并逐步掌握各种常见模式的具体运用方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值