原型设计

Pencil 基于Electron的GUI原型工具之菜单三探

橙三吉。 提交于 2019-12-06 05:02:04
今天一鼓作气实现Pencil整合印象笔记同步的功能。 缘起,像Sketch或者Adobe XD等一些工具都开始陆续支持整合阿里巴巴的“语雀”云服务,将设计文档同步到云端,便于团队协作及实现其它一些目的。 原本也是想以实现语雀为目标的,后续一想不是其付费用户,自己的需求并不强烈,所以暂时作罢,转而实现更广泛使用的印象笔记同步。 目前已完成基于沙盒的测试。 先实现 单向同步; 涉及到的功能: 1、增加两个菜单,印象笔记授权/取消印象笔记授权、同步文档到印象笔记; 功能设计; 1、实现印象笔记用户授权 2、保存印象笔记授权信息到本地; 3、调用接口实现文档同步;ENML数据格式、附件;文档标题-文件名?文档内容-各个页面层级列表;文档附件-epgz文档; 知识点: 1、印象笔记,认证 token 是由印象笔记 API 在 OAuth 认证流程结束时生成的。对于大多数[1] 印象笔记应用而言,这些 token 会在一年之后过期; 2、Electron, browserWindow.webContents.on("will-redirect", function(event, url, isInPlace) {}); ; 3、缓存的授权信息通过Pencil的Config 来存取; 代码改动记录: https://gitee.com/web3d/pencil/commit

干货!所有常用的原型设计工具都在这里了

狂风中的少年 提交于 2019-12-06 00:23:38
本文列举了20余款当前国内外比较火爆的原型设计工具。我把它们分为以下五类: 1. 交互原型设计工具(仅限页面交互) 2. 手机原型工具 3. 网页原型工具 4. 静态原型工具 5. 动态原型工具(组件和页面交互) 交互原型设计工具(仅限页面交互) 这一类工具主要是建立页面之间的交互。其本身不能进行组件的制作和设计,需要从其它地方(例如:PS,本地)导入设计图,对已有的设计图创建热点,进行交互设计。 Invision - 一款很好的制作原型交互演示的工具。你可以从本地、Dropbox、Google Drive和Box上传图片。使用拖拽快速创建热点。它的分享、协作、评论功能也很方便。 Chianco - 一款轻量级的交互原型设计工具。拖一拖鼠标, 快速创建交互;内置多种转场和触发效果,点一点就可以使用;扫一扫,直接在手机上预览效果,也可以导出HTML,分享给同事。 Marvel - 一款简单易用的原型工具。只需几次简单的点击,就能将静态的设计图链接起来,变成可点击的原型图。 Flinto for Mac - 一款Mac端的交互原型设计工具。支持一键将 Sketch设计稿导入, 添加热点配合相应的交互动作生成原型通过网页或者手机端展示给客户观看。 Atomic - 可以用来快速设计交互和动画的原型工具,无论是手机原型还是桌面端原型,都是不错的选择。 手机原型工具

23中设计模式——原型模式

℡╲_俬逩灬. 提交于 2019-12-05 23:49:22
原型模式 一、定义 原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 主要作用:主要用来对象的复制。通过第一次new的实例化的对象进行克隆,之后需要实例化对象时,直接克隆实例化对象变行。 二、UML图 三、原型模式的用法和注意点 1)用法 原型模式的核心类(接口)是:Prototype类(接口),在Java中Prototype需要具备以下的条件: 1、实现Cloneable接口,Java中的Cloneable是一个标志性接口,接口中不存在任何的方法。目的是为了告诉Jvm,实现了这个接口就可以被克隆,否则在运行的时候回抛出CloneNotSupportedException异常。 2、clone方法的作用是对象的拷贝,重写Object类的clone()方法,原因是因为Object类中的clone()方法是protected访问权限。有些类无法进行访问,将其改为public访问权限变行。 2)注意点 1、clone()方法具有两种拷贝,一种是浅拷贝,一种是深拷贝。浅拷贝,拷贝的只是对象中的基本数据类型和其包装类还有String。想要深拷贝,必须要将对象中的数组,容器,对象进行另外拷贝。 2、原型模式复制对象不会调用类的构造方法,但是你进行new初始化一定是通过构造方法的。为什么原型模型复制对象不会调用类的构造方法呢

前端知识梳理

随声附和 提交于 2019-12-05 14:18:22
转载: https://blog.csdn.net/weixin_34179968/article/details/88002844 一:数据存储与赋值: 1:基本数据类型在栈中存储变量名和值。 null和undefined, 都是数据类型,undefined表示未定义,有且仅有一个值,就是undefined, null:表示空对象,typeof结果是object,和对象挂钩用null 2:引用数据类型在栈中存储变量名和在堆中存储的地址编号。 引用类型就是对象包括:内置对象(String,boolean,Date,RegExp,Math).宿主对象(bom,dom),自定义对象 dom2:bom:浏览器对象模型,有window对象,window对象默认就存在的, dom:文档对象模型, 事件委托: html css js var ul=document.getElementById('ul'); ul.οnclick=function(e){ console.log(e.target.innerHTML) } dom2级注册事件和解除事件从ie9开始支持, 二: 原型和原型链: 原型:每一个对象都有一个proto,每一个函数都有一个prototype,函数也是对象,所以也有proto, 原型属性:隐士原型对象上的属性 原型链:js每一个对象都有一个prototype属性

怎么理解js的原型链继承?

左心房为你撑大大i 提交于 2019-12-05 11:27:22
前言 了解java等面向对象语言的童鞋应该知道。面向对象的三大特性就是:封装,继承,多态。 今天,我们就来聊一聊继承。但是,注意,我们现在说的是js的继承。 在js的es6语法出来之前,我们想实现js的继承关系,需要借助于原型链。之前的文章,我有讲过原型和原型链的概念。在这,再重新回顾一下。 js中万物皆对象,每个对象都有一个隐式原型 __proto__ ,指向创建它的构造函数的原型对象。 函数(构造函数)除了有一个隐式原型对象,还有一个属性prototype,它指向一个对象,这个对象就是原型对象,也叫显式原型。 原型对象有一个属性constructor,它指向这个构造函数本身。 而原型链,就是为了实现js的继承,把实例对象的__proto__属性一层一层的指向它的构造函数的原型对象,直到它(Object.prototype)的原型对象为null。 举例分析 我们现在定义一个构造函数Person作为父类,传入一个name属性,给原型对象添加一个getName的方法。 function Person(name){ this.name = name; } Person.prototype.getName = function(){ console.log(`姓名:${this.name}`); } 然后再定义一个构造函数Student,用以继承父类Person function

第10组 Alpha冲刺(3/4)

廉价感情. 提交于 2019-12-05 03:08:46
万本琳 过去两天完成了哪些任务 文字/口头描述 继续学习java和前端开发相关知识,配合前端开发,提出修改意见 展示GitHub当日代码/文档签入记录 暂无截图 接下来还有什么任务 完善原型,完成最终的界面ui设计 还剩下哪些任务 完善原型功能设计和前端页面设计 燃尽图 遇到了哪些困难 最近考试好多实践课也好多太苦了,时间有点紧张 有哪些收获和疑问 掌握了前端的开发的有关知识,学会了一些软件的使用。疑问依旧是技术上的。 来源: https://www.cnblogs.com/wbl1115/p/11901149.html

原型设计模式

廉价感情. 提交于 2019-12-04 18:33:50
克隆羊项目需求 现在有一只羊tom,姓名为: tom,年龄为:1,颜色为:白色,请编写程序创建和tom羊属性完全相同的10只羊。 传统方式 1、Sheep类 @Getter @Setter @ToString @AllArgsConstructor public class Sheep { private String name; private int age; private String color; } 2、客户端代码 public class Client { public static void main(String[] args) { //传统的方法 Sheep sheep = new Sheep("tom", 1, "白色"); Sheep sheep2 = new Sheep(sheep.getName(), sheep.getAge(), sheep.getColor()); Sheep sheep3 = new Sheep(sheep.getName(), sheep.getAge(), sheep.getColor()); Sheep sheep4 = new Sheep(sheep.getName(), sheep.getAge(), sheep.getColor()); Sheep sheep5 = new Sheep(sheep.getName(),

前端知识集锦1

雨燕双飞 提交于 2019-12-04 18:00:50
原文链接: 征服前端面试 ,仅供学习使用 前端知识集锦2 1. JavaScript 1.1 原型 我们创建的每一个函数,都可以有一个prototype属性,该属性指向一个对象。这个对象,就是原型。 当我们在创建对象时,可以根据自己的需求,选择性的将一些属性和方法通过prototype属性,挂载在原型对象上。而每一个new出来的实例,都有一个proto属性,该属性指向构造函数的原型对象,通过这个属性,让实例对象也能够访问原型对象上的方法。因此,当所有的实例都能够通过proto访问到原型对象时,原型对象的方法与属性就变成了共有方法与属性。 // 声明构造函数 function Person(name, age) { this.name = name; this.age = age; } // 通过prototye属性,将方法挂载到原型对象上 Person.prototype.getName = function() { return this.name; } var p1 = new Person('tim', 10); var p2 = new Person('jak', 22); console.log(p1.getName === p2.getName); // true 通过图示我们可以看出,构造函数的prototype与所有实例对象的proto都指向原型对象

设计模式之原型模式、策略模式、观察者模式

折月煮酒 提交于 2019-12-04 14:56:08
一、原型模式 1、什么是原型模式 克隆 原型模式是一个创建型的模式。原型二字表明了改模式应该有一个样板实例,用户从这个样板对象中复制一个内部属性一致的对象,这个过程也就是我们称的“克隆”。被复制的实例就是我们所称的“原型”,这个原型是可定制的。原型模式多用于创建复杂的或者构造耗时的实例,因为这种情况下,复制一个已经存在的实例可使程序运行更高效。 2、原型模式应用场景 (1)类初始化需要消化非常多的资源,这个资源包括数据、硬件资源等,通过原型拷贝避免这些消耗。 (2)通过new产生的一个对象需要非常繁琐的数据准备或者权限,这时可以使用原型模式。 (3)一个对象需要提供给其他对象访问,而且各个调用者可能都需要修改其值时,可以考虑使用原型模式拷贝多个对象供调用者使用,即保护性拷贝。 Spring框架中的多例就是使用原型。 3、原型模式UML类图(通用) 原型模式主要用于对象的复制,它的核心是就是类图中的原型类Prototype。Prototype类需要具备以下两个条件: (1)实现Cloneable接口。在java语言有一个Cloneable接口,它的作用只有一个,就是在运行时通知虚拟机可以安全地在实现了此接口的类上使用clone方法。在java虚拟机中,只有实现了这个接口的类才可以被拷贝,否则在运行时会抛出CloneNotSupportedException异常。 (2

设计模式之原型模式、策略模式、观察者模式

こ雲淡風輕ζ 提交于 2019-12-04 14:46:41
一、原型模式 1、什么是原型模式 克隆 原型模式是一个创建型的模式。原型二字表明了改模式应该有一个样板实例,用户从这个样板对象中复制一个内部属性一致的对象,这个过程也就是我们称的“克隆”。被复制的实例就是我们所称的“原型”,这个原型是可定制的。原型模式多用于创建复杂的或者构造耗时的实例,因为这种情况下,复制一个已经存在的实例可使程序运行更高效。 2、原型模式应用场景 (1)类初始化需要消化非常多的资源,这个资源包括数据、硬件资源等,通过原型拷贝避免这些消耗。 (2)通过new产生的一个对象需要非常繁琐的数据准备或者权限,这时可以使用原型模式。 (3)一个对象需要提供给其他对象访问,而且各个调用者可能都需要修改其值时,可以考虑使用原型模式拷贝多个对象供调用者使用,即保护性拷贝。 Spring框架中的多例就是使用原型。 3、原型模式UML类图(通用) 原型模式主要用于对象的复制,它的核心是就是类图中的原型类Prototype。Prototype类需要具备以下两个条件: (1)实现Cloneable接口。在java语言有一个Cloneable接口,它的作用只有一个,就是在运行时通知虚拟机可以安全地在实现了此接口的类上使用clone方法。在java虚拟机中,只有实现了这个接口的类才可以被拷贝,否则在运行时会抛出CloneNotSupportedException异常。 (2