Design Whatsapp

Design a system like Whatsapp with the following features: Send a message to a user. Create a group with some initial users. Add more users to a group. Send a message to a group. Get messages for a user. Implement the WhatsApp class: WhatsApp() Initializes the object. void sendMessage(int toUser, String message) Sends a personal message with the text message to the user with id: toUser. int createGroup(int[] initialUsers) Creates a new group that initially contains users whose ids are in the list initialUsers, and the group id is returned....

周日 · 2024-11-24 · 5 分钟 · Yuechen

图床服务器搭建

GitHub Pages 图床使用教程 GitHub Pages 可以作为图床使用,适合存储静态文件(如 .jpg、.png、.gif 格式)。 创建 GitHub 账户: 如果还没有账户,访问 GitHub 注册一个。 创...

周日 · 2024-11-10 · 2 分钟 · Yuechen

代码坏味道之注释 (Comments)

定义 某段代码有大段的注释,这些注释之所以存在是因为代码很糟糕 代码注释错误,或者缺少必要的注释 影响 以注释掩盖了代码坏味道,或者没有正确的注释,...

周日 · 2024-10-13 · 2 分钟 · Yuechen

代码坏味道之被拒绝的遗赠 (Refused Bequest)

定义 对于某个子类,它只想继承基类的部分函数和数据,不需要基类提供的全部内容, 这些不需要的内容就成为了子类的负担 影响 这种坏味道通常影响并不大,...

周日 · 2024-10-13 · 6 分钟 · Yuechen

代码坏味道之纯稚的数据类 (Data Class)

定义 DataClass是指:它们拥有一些字段,以及用于访问(读写)这些字段的函数,除此之外一无长物。 这样的类只是一种不会说话的数据容器。 影响...

周日 · 2024-10-13 · 4 分钟 · Yuechen

代码坏味道之异曲同工的类 (Alternative Classes With Different Interfaces)

定义 两个类功能一致,却有不同的定义(方法/接口) 影响 相关的业务逻辑可能会重复实现,或分布到不同类中,代码难维护 改进目标 统一接口、相同的功能只...

周日 · 2024-10-13 · 4 分钟 · Yuechen

代码坏味道之过大的类 (Large Class)

定义 由于属性未分组和职责不单一而包含过多属性、方法和代码行的类 影响 随着属性、方法和代码行数的不断增加,重复代码接踵而至,最终走向混乱 改进目标...

周日 · 2024-10-13 · 4 分钟 · Yuechen

代码坏味道之内幕交易 (Insider Trading)

定义 模块之间互相引用,私下直接进行大量的数据访问和交换 影响 增大模块间的耦合,容易导致循环依赖,加快架构腐化,甚至会朝着大泥球式的架构发展,严...

周日 · 2024-10-13 · 8 分钟 · Yuechen