惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
MyScale Blog
MyScale Blog
博客园 - Franky
The Cloudflare Blog
IT之家
IT之家
Blog — PlanetScale
Blog — PlanetScale
博客园 - 聂微东
WordPress大学
WordPress大学
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
The Blog of Author Tim Ferriss
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
罗磊的独立博客
Google DeepMind News
Google DeepMind News
P
Proofpoint News Feed
Martin Fowler
Martin Fowler
aimingoo的专栏
aimingoo的专栏
J
Java Code Geeks
腾讯CDC
雷峰网
雷峰网
Microsoft Azure Blog
Microsoft Azure Blog
G
Google Developers Blog
博客园 - 【当耐特】
美团技术团队
云风的 BLOG
云风的 BLOG

人人都是产品经理

为什么你的产品找不到差异化?90%的失败都卡在第一步上(下) – 人人都是产品经理, 3年从30万到1300万用户、获2200万美元融资,这个AI教育产品用“抽卡”破解了获客难题 – 人人都是产品经理, 园区招商系统怎么做才能真正帮到去化?我加了这一个功能,推广链接转发400次阅读过万 – 人人都是产品经理, AI大事件:OpenAI发完网络安全模型又搞药物研发,小鹏汽车要抓”DeepSeek时刻” – 人人都是产品经理, 电商不是卖货,是一场更残酷的产品经理实战 – 人人都是产品经理, 没想到,活动营销又回来了! – 人人都是产品经理, 为何All-in海外KOC:一场关于AI时代窗口期的豪赌 – 人人都是产品经理, 重新理解企业的内部协作 – 人人都是产品经理, 苹果的 AI 战略到底是什么? – 人人都是产品经理, 医疗智能体·第2讲——合规护城河:等保、PIPL与HIPAA的架构实战 – 人人都是产品经理, 向量知识库五步法:从“答非所问”到“精准回复” – 人人都是产品经理, 鸿蒙PC三方库构建总指挥HPKBUILD(sha)库为例 – 人人都是产品经理, 何时该用LLM?AI产品经理的LLM设计指南 – 人人都是产品经理, 医疗信息领域的需求方、决策方、准入方以及关注点(二) – 人人都是产品经理, 即梦涨价:一场被误读的「傲慢」 – 人人都是产品经理, 面试AI PM必答题:Hermes和OpenClaw的区别,如何讲清楚业务价值 – 人人都是产品经理, AI的下一张船票:世界模型——AI产品经理必须理解的技术拐点 – 人人都是产品经理, 小红书做GEO,怎么让AI信你?记住这 3 个重要信息 – 人人都是产品经理, 5 家印度 AI 初创公司,看看印度 AI 再做什么 – 人人都是产品经理, AI项目跨团队协作:产品技术业务如何不打架 – 人人都是产品经理, Agentic Workflow(智能体工作流):让AI从”答案生成器”变成”数字员工” – 人人都是产品经理, lycium_plusplus 项目全景解读:OpenHarmony 三方库构建的“大管家” – 人人都是产品经理, 从爆单救火到前置履约:两套预采策略,把生鲜大促履约效率拉满 – 人人都是产品经理, 什么时候该补货?我用一轮数据做了一个决定 – 人人都是产品经理, 从“机械兜底”到“动态分流”:AI客服重复进线治理的4大底层逻辑 – 人人都是产品经理, 抖音拼效率,红书拼洞察 – 人人都是产品经理, 全民狂欢与退潮——为什么龙虾这波热潮冷却得如此之快? – 人人都是产品经理, Stripe押注!MPP重塑全球支付 – 人人都是产品经理, 小红书GEO:AI引用你的内容,不是因为你对,而是因为你看起来可信 – 人人都是产品经理, 前百度副总裁押注办公Agent,日韩付费爆发,Manus迎来强劲对手 – 人人都是产品经理,
和ChatGPT的首次合作:论单一职责原则
菜根老谭 · 2023-03-15 · via 人人都是产品经理

在架构设计、产品设计以及组织管理中,单一职责原则都具有重要的应用价值,可以帮助我们更好地进行任务分配、责任划分、岗位设置和角色分配等方面的工作。同时,也可以提高代码的可维护性和可读性,降低系统的耦合度,从而提高整个团队的生产力和职业能力水平。该如何做好?一起来看看这篇文章。

今天刚在卫生间解决完个人问题出来,就听老婆说:回去开灯。顿时一阵懵,大白天的人家都是别忘关灯,怎么到你这里成了别忘开灯了。老婆又连说了两遍,我依然没有反应过来。直到老婆说:就是排风扇打开,我才恍然大悟。因为装修的时候出现失误,卫生间的排风开关不好用,排风开关和卫生间的灯弄成一个了,导致排风就得开灯,开灯就得排风。

这就是一个开关两个职能导致的混乱。这让我想起在架构设计的一些基本原则中一条非常重要的原则:单一职责原则(Single Responsibility Principle,SRP)。

01 架构中的单一职责原则

在软件系统架构设计中,单一职责原则是一个基础原则,它强调一个组件或模块只应该拥有一个单一的职责。这个原则可以使得架构设计更加清晰,使得组件之间的耦合更加清晰分离,从而带来更好的可维护性和可拓展性。

例如,我们可以将一个复杂的业务逻辑划分为多个模块或组件,每个模块或组件只负责一项职责。这样可以使得每个模块或组件更加专注和独立,避免出现复杂的交叉依赖关系,提高代码的可读性和可维护性。

单一职责原则是实现高内聚、低耦合的指导方针,在很多代码重构手法中都能找到它的存在,它是最简单但又最难运用的原则,需要设计人员发现类的不同职责并将其分离,而发现类的多重职责需要设计人员具有较强的分析设计能力和相关重构经验。

和ChatGPT的首次合作:论单一职责原则

02 产品中的单一职责原则

单一职责原则是软件开发中重要的设计原则之一,它提倡将一个类或模块的职责尽可能的单一化,从而使得类或模块只负责一种功能。单一职责原则在产品设计中也是存在的。

首先,单一职责原则可应用于产品功能设计中。 在产品设计中,每个产品都必须具有一定的功能,而单一职责原则在这个过程中起到了关键作用。通过将产品功能进行细分,将不同的功能委托给不同的模块,可以使得各个模块之间的功能职责清晰且互不干扰。以智能音箱为例,它需要完成听音乐,查询天气,设置闹钟等多种功能。如果将这些功能都放入一个模块中实现,不仅难以管理和维护,而且不同功能之间的干扰会严重影响用户体验。因此,一个好的产品设计应该将不同的功能划分为不同的模块来实现单一职责原则。

其次,单一职责原则可以应用于产品组件设计中。 在产品设计过程中,设计师往往需要设计各种不同的组件,并且需要保证各个组件之间的兼容性。如果每个组件都有多种功能,会使得组件之间的逻辑关系变得复杂,难以维护和修改。因此,设计师需要将不同的功能拆分为不同的组件,并且保证每个组件只具有一种功能,这样在后期的修改和维护中,就能够更加方便和快捷。

最后,单一职责原则可以应用于产品界面设计中。 一个好的界面设计应该呈现出清晰的布局和设计,让用户可以更加方便和快捷的使用产品。在设计过程中,应该将不同的功能组织在对应的区域中,并且保证每个区域只具有一种功能。这样不仅能够方便用户的使用,而且能够使得界面更加简洁和美观,极大提升用户体验。

单一职责原则在产品设计中的应用不仅会使得产品的各个模块之间的职责更加清晰,而且能够使得产品更加方便、易用、易维护。因此,在产品设计中的单一职责原则应用是非常必要且重要的。

03 管理中的单一职责原则

在组织管理中,单一职责原则可以帮助我们更好地进行任务分配和责任划分。每个人应该只承担自己熟悉和能够完成的任务,避免过度承担任务导致工作质量下降、效率低下等问题。

例如,在一个软件开发团队中,每个开发人员应该只负责特定模块或组件的开发,避免出现过度依赖一个人的情况,并且每个人都可以专注于自己的工作,提高整个团队的生产效率和代码质量。

另外,在职场组织管理中,单一职责原则也可以帮助我们更好地进行岗位设置和角色分配。每个岗位或角色应该只涉及自己的专业领域和职责范围内的工作,从而提高组织的工作效率和管理效果。

在管理中,管理者可能出现兼职的情况,或者一人身兼数职。比如研发总监的岗位人员空缺了,产品总监兼职研发总监,如果我们不能根据场景或者任务清晰的实现角色切换的时候,往往就出现了混乱,导致设计产品时过度的考虑研发的资源和进度。或者项目交付的过程中,随意的添加或者变更的产品的需求。所以,岗位兼职应该是一种短期行为用于过渡,长期来看,还是需要清晰划分职责,特别是有相互制衡的岗位一定要拆分为单一职责。

有一次在做技术评审时,针对大量设备对接的程序设计,对于设备对接适配器的调用,产品开发人员采用了根据写死的设备编码进行if-else的判断实现不同设备的调用。但是问题来了,实际到了项目实施以及运维过程中,还会有新的设备加进来,我们如果要不停的修改核心产品中的if-else代码,产品的稳定性就会变差,而且本来可以交由外部实施团队来做的开发又只能回到产品研发团队,这是不合理的。

之所以出现这种设计,其实就是现阶段,产品开发人员同时兼职项目实施,当前所有适配的设备都是由他负责,所以没有做产品和项目的拆分,没有做扩展性的设计。这也是职责不单一导致的系统设计混乱!

当我提醒他,你做程序设计的时候,不要认为你就是最终做项目实施的人,你应该怎么做?你做项目实施的时候,你希望什么模式可以不通过修改产品就能解决?当我们职责无法实现单一的时候,我们应该从多维角色中跳出来,切换为单一职责去思考。

和ChatGPT的首次合作:论单一职责原则

总之,在架构设计、产品设计以及组织管理中,单一职责原则都具有重要的应用价值,可以帮助我们更好地进行任务分配、责任划分、岗位设置和角色分配等方面的工作。同时,也可以提高代码的可维护性和可读性,降低系统的耦合度,从而提高整个团队的生产力和职业能力水平。

你认为该文章内容质量如何?其实这是我第一次和ChatGPT一起协作写的一篇文章,ChatGPT贡献了超过一半的篇幅。ChatGPT在生成式AI上的卓越表现,让我完成此文只用一个多小时的时间,感谢ChatGPT让我有了更多休息的时间。

专栏作家

菜根老谭,微信公众号:CGLT_TAN,人人都是产品经理专栏作家。经历程序员、技术Leader、产品经理、研发Leader等多种岗位。现负责某科技公司整体产品研发,擅长企业IT架构及互联网产品架构。

本文原创发布于人人都是产品经理。未经许可,禁止转载

题图来自Unsplash,基于CC0协议.

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。