一:背景介绍
对于需求的开发每天可能都会有上线的情况,为了防止每次上线拉取代码或者修改配置而引发的冲突以及发生了冲突应该找谁一起确定一下代码留下那一部分的情况。所以在开发的群中会有一个表格来记录每个需求上线修改的环境、是否修改数据库、是否修改nacos以及是否完成。
二:思路&方案
秉承着以下设计理念:
1.你设计的软件猪不能使你就是猪:我们设计的软件给用户一种非常简单、非常容易上手的感受。不需要用户进一步思考。每次一变一小步,每一步之间都是有关系的把一个相对比较复杂的功能拆解成多个小的步骤形成流水线。
2.让软件的使用者都成为我们软件的设计者:我们设计的软件要支持用户的多种情况,用户可以根据自己的需求进行调整,例如我们使用的软件基本上都有换皮肤的功能,每个人按照自己的喜好进行选择。把用户的需求想到用户的前面。
三:实现过程
没有按照设计理念设计的功能:
1.用户发送日程领取会议室的钥匙
2.发送成功之后会弹出一个卡片,卡片中有链接。点击链接跳转页面进行领取钥匙,归还钥匙也是一样的。
面向过程代码示例
// 面向过程思想的代码 // 定义一个函数,表示业务逻辑 public void doBusiness() { // 实现业务逻辑 System.out.println("使用面向过程思想的业务代码"); } // 在客户端代码中调用业务函数 public class Client { public static void main(String[] args) { // 调用业务函数 doBusiness(); } }
按照设计理念设计的功能:
1.用户发送日程领取会议室的钥匙
2.发送成功之后,也会有一个卡片,这个卡片是在会议前15分钟(可以配置会议前多少分钟发送)发出来了,方便主持人提前调试设备做一些准备工作。如果有一些极其特殊情况还可以和机器人对话领取钥匙。
面向对象代码示例
// 面向对象思想的代码 // 定义一个抽象类或接口,表示业务对象 public abstract class BusinessObject { public abstract void doBusiness(); } // 定义具体的业务对象,继承抽象类或实现接口 public class ConcreteBusinessObject extends BusinessObject { @Override public void doBusiness() { // 实现业务逻辑 System.out.println("使用面向对象思想的业务代码"); } } // 在客户端代码中使用业务对象 public class Client { public static void main(String[] args) { // 创建具体的业务对象 BusinessObject businessObject = new ConcreteBusinessObject(); // 调用业务方法 businessObject.doBusiness(); } }
四:总结
结合上面的例子来说,没有按照设计理念设计的软件,用户使用起来非常的麻烦。需要点击好几次才能完成想要的效果。而且步骤多了之后会带来用户看不懂,不愿意看,没有耐心去做执行操作的可能性,而且用户使用一次之后就不会使用第二次。上手太困难。而按照设计理念设计出来的软件,用户不需要思考就可以达到用户想要的效果。减少了用户的操作。那上面的例子来说用户是可以配置会议前多长时间来领取钥匙的。
五:升华
让软件的使用者成为软件的设计者,不仅仅在我们设计软件的过程中能够用到。在我们的生活中处处也都能有所体现。把别人放在心中,多为别人考虑考虑。我们在开发中才会站在用户的角度去思考问题。才能解决用户的痛点。通过上面的背景介绍。表格中是对每个需求都有修改项的填写。这样在上线的过程中就不会发生混乱的情况,功能的负责人只需要在表中填写好都修改了哪些内容,没有修改的可以不填写。这样我们就可以把表格看做是软件,每一个开发者是使用者,列好对应的规则。谁需要就去表格中填写一下就可以了。