对比着关系型数据库,我们对redis key的设计一般有以下两种格式: 表名:主键名:主键值:列名 表名:主键值:列名 在所有主键名都是id的情况下(其实我个人不喜欢这种情况,比如user表,它的主键名就应该是user_id,而不是id,这样在表与表之间关联的时候一目了然) 用冒号作为分割是设计key的一种不成文的原则,遵循这种格式设计出的key在某些redis客户端下可以有效的识别: 但是,在关系型数据中,除主键外,还有可能根据其他列来查询. 如上表中, username 也是极频繁查询的,往…
书签系统 create table book ( bookid int, title char(20) )engine myisam charset utf8; insert into book values (5 , 'PHP圣经'), (6 , 'ruby实战'), (7 , 'mysql运维'), (8, 'ruby服务端编程'); create table tags ( tid int, bookid int, content char(20) )engine myisam charse…
前言 ​ 今天开始我们专题的第二课了,本章节继续分享软件架构设计原则的下篇,将介绍:接口隔离原则.迪米特原则.里氏替换原则和合成复用原则.本章节参考资料书籍<Spring 5核心原理>中的第一篇 Spring 内功心法(没有电子档,都是我取其精华并结合自己的理解,一个字一个字手敲出来的). 接口隔离原则 ​ 接口隔离原则(Interface Segregation Principke,ISP)是指用多个专门的接口,而不使用单一的总接口,客户端不应该依赖它不需要的接口.这个原则知道我们在设计接口…
引用: http://www.cnblogs.com/leehongee/archive/2012/03/18/2404760.html 面向对象设计原则是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序员追逐像Singleton.Decorator.Observer这样的设计模式,而不重视面向对象的分析和设计.甚至还有经验丰富的Java程序员没有听说过OOPS和SOLID设计原则,他们根本不知道设计原则的好…
前言 ​ 今天开始我们专题的第一课了,也是我开始进阶学习的第一天,我们先从经典设计思想开始,看看大牛市如何写代码的,提升技术审美.提高核心竞争力.本章节参考资料书籍<Spring 5核心原理>中的第一篇 Spring 内功心法(没有电子档,都是我取其精华并结合自己的理解,一个字一个字手敲出来的). 开闭原则 开闭原则(Open-Closed Principle,OCP)是指一个软件实体(如类,模块和函数)应该对扩展开发,对修改关闭.所谓的开闭,也正是对扩展和修改的两种行为的一个原则.它强调的是…
转自:http://mobile.51cto.com/design-309719.htm 1.操控便捷 iOS应用的控制设计应该具有圆润的轮廓和程式化的梯度,操作便捷. 2.结构清晰.导航方便 充分利用iOS导航栏.尽量将所有的导航都安排在一个分层格式中,方便显示应用内的当前位置. 3.微妙清晰的用户反馈 使用动画显示用户的操作结果.一个经典的例子是:当用户长按进入“重新排列模式”时,应用会抖动. 4.确保外观和功能协调 如果是生产力类型的应用,可在背景中加入与之协调的装饰,注重最大限度地发挥功…
Dashboard设计,尽管设计师们叫法各不相同(例如:“数据面板设计”, “控制面板设计”, “仪表盘设计”或“后台界面设计”等等).但,此类设计的最终目都是力求以最直观.最简洁的方式呈现各种信息和数据,从而为Web或App用户提供最有效.最实用的行动指南或决策基础. 但是,对设计师们而言,这一看似简单的设计目标,执行起来并非易事.究竟应该选择哪类图表,才能真正完美直观的展示各类数据?究竟如何选择和搭配界面色彩,才能达到美观吸睛的同时,又能突出页面重点?究竟如何选择界面图标,才能更好的引导用户…
很多人都在寻找那些能够帮助他们快速提升设计能力的方法,但你是否想过,自己身上的哪些方面会对你的设计产生影响呢?是使用工具的技巧,对设计的理解和态度,还是你的生活习惯呢?我想说所有这些都是决定你的设计是否优秀的因素,而在这之中,对设计本身的理解尤为重要.在这篇文章里,我尝试着通过那些经典的设计原则和设计领域内的一些最佳实践,来启发你对设计的重新认识. 什么是设计,什么又才是优秀的设计 设计正在被不断地细分并渗透到各行各业,我所知道的设计师分类就包括:工业设计.图形设计.UI设计.UX设计等等.那么…
面向对象的设计原则 是 OOP 编程的核心,但是我看到大多数 Java 程序员都在追求诸如 Singleton 模式,Decorator 模式或 O​​bserver 模式之类的设计模式,而对学习面向对象的分析和设计没有给予足够的重视.了解诸如抽象,封装,多态和继承之类的面向对象程序设计的基础很重要.但是,与此同时,了解面向对象的设计原则也同样重要.它们将帮助您创建简洁的模块化设计,将来可以轻松进行测试,调试和维护. 我经常见过各种经验水平的 Java 程序员和开发人员,他们要么从未听说过这些…
面向对象设计原则: 是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序员追逐像Singleton.Decorator.Observer这样的设计模式,而不重视面向对象的分析和设计.甚至还有经验丰富的Java程序员没有听说过OOPS和SOLID设计原则,他们根本不知道设计原则的好处,也不知道如何依照这些原则来进行编程. 众所周知,Java编程最基本的原则就是要追求高内聚和低耦合的解决方案和代码模块设计.查看Ap…