基于python的微信公众平台二次开发(一)api开发我们已经开发了一些简单的二次开发工具类,如数据读取、excel表格数据分析、二维数组pygame窗口、文字生成、图片拼接、位置绘制、事件监听等等。但是,这些只是开发的一些基本操作,如何设计更完善的二次开发功能,才是真正的需要的。开发之前,我们先定义一些设计模式让我们在二次开发的时候能够灵活使用。
所谓二次开发,是指一个设计模式对于一个相对完整的软件设计而言,面对一些变化的功能时所发生的变化。二次开发设计模式主要是针对编程过程中设计功能改变的需求。二次开发包括web层,数据库层,微信层,游戏引擎层等。二次开发设计模式多种多样,下面说两个我在开发中常用的设计模式:原型(prototype)原型的使用场景跟编程设计过程中的类似,比如说我们写一个java程序可能有对象类,flask框架里面有对象,google框架有类等等。
当写一个原型,就是指按照一个现有的object类型去开发一个完整的程序。让我们逐一看看它的特点:原型的好处很明显,很容易编写出代码。缺点是比较繁琐,本来web/microsoft/eclipse这些可以类似的编程环境已经够繁琐了,而且现在各种模板和框架层出不穷,设计开发非常痛苦。这就好比如果一个你还没接触过的人拿给你一个vcb工具,说重定义为你要设计编译器,你可能去尝试的成本太高了。
除非他懂很多编程,否则他可能根本不知道该怎么设计。所以说,设计原型不是很现实。反观原型的一个局限性,是难以扩展。举个例子,我们手机应用程序的对话框有十几种,一旦应用程序对话框存在不同功能时,一个就有几百几千种不同的对话框组合。但是,如果继续应用程序的改变的话,比如说将会把对话框从iphone更换为android,那么从之前的设计进行改变将导致原型难以维护。
特别是我们的应用程序内部的信息几乎改变不了的情况下。构建一个原型很麻烦,因为我们需要创建一个对象来完成开发,还要维护对象的方法。我也不知道我们做的一个二次开发对于人类的意义在哪里。为什么要搞个对象?类似于这样的问题,我在开发android应用的时候也碰到过。那么我们不这么搞是不是就得用new一个新对象呢?当然不是。
new一个对象既不是出于代码的规范,对象本身的功能也无法用new创建,因为上面构建原型太麻烦了。要生成一个对象还要进行factory方法,可能会导致新对象的无法确定,并且由于设计人员很可能无法理解class和factory方法,导致factory的生命周期不知道该如何处理。于是有人想到,可不可以让创建对象和创建类一样。
举报/反馈