- go学习杂记
h799710
golang学习开发语言
一些学习时候留下的杂技,单纯用来记录,想要系统学习的话还是要看书籍哈2025/1/21面向对象原则依赖倒置原则:高层模块依赖于抽象,而不是具体实现。(高层不依赖底层,而是依赖抽象接口。这样随时可以切换选择底层接口)里氏替换原则:子类可以无缝替换父类,且不破坏系统的正确性。接口隔离原则:客户端不应依赖于它们不使用的接口,接口应尽可能小且具体。这些原则旨在提高代码的可维护性、可扩展性和可复用性inte
- Java 设计模式
妖怪兮诺
javajava设计模式开发语言
设计模式的六大原则开闭原则:对拓展开放,对修改关闭里氏替换原则(LSP)(开闭原则的补充):任何基类可以出现的地方,子类一定可以出现。继承复用的基石依赖倒置原则:针对接口编程,依赖于抽线而不依赖于具体接口隔离原则:使用多个隔离的接口,比使用单个接口要好。低耦合、高内聚迪米特法则(最少知道原则):一个实体应当尽可能的与其他实体之间发生相互作用,使得系统功能模块相对独立合成复用原则:尽量使用合成/聚合
- C++设计模式学习
痛&快乐着
C++学习设计模式c++设计模式
文章目录1.什么是设计模式2.设计模式分类2.1创建型模式2.2结构型模式2.3行为型模式3.设计模式七大原则(OOP原则)3.1开闭原则3.2里氏替换原则3.3依赖倒置原则3.4单一职责原则3.5接口隔离原则3.6迪米特法则3.7合成复用原则4.常用设计模式例子4.1工厂模式4.2单例模式4.3策略模式4.4适配器模式4.5模板方法模式4.6外观模式4.7桥接模式4.8代理模式5.总结参考文献1
- Android面试题
学海无涯乐作舟
客户端面试android
简单android基础对于面向对象的六大基本原则了解多少单一职责(SingleResponsibilityPrinciple):一个类只做一件事,可读性提高里式替换原则(LiskovSubstitutionPrinciple):依赖继承和多态,就是能用父类的地方就可以用子类替换,用子类的但不能用父类。依赖倒置原则(DependenceInversionPrinciple):依赖抽象,就是模块之间的
- 设计模式之七大设计原则详解
carl的分享笔记
设计模式与设计原则设计模式java设计原则面试
七大设计原则:七大设计原则:开闭原则、依赖倒置原则、单一职责原则、接口隔离原则、迪米特原则、里氏替换原则、合成复用原则Java有三大特性:封装、继承、多态。而这七大设计原则,更像是对三大特性的一种体现。七大原则并不是分别独立的原则,他们之间是相互有联系的,甚至可以看做是一体的。有时候你为了符合某种原则会无意之间破坏另一个原则有时候你为了符合某种原则还会发现这也符合另外几种原则开闭原则对(类、方法)
- Java 面向对象的三大特性和五大基本原则
一枚码仔
Javajava开发语言
目录三大基本特性1.封装2.继承3.多态五大基本原则1.单一职责原则(SRP)2.开放封闭原则(OCP)3.里氏替换原则(LSP)4.依赖倒置原则(DIP)5.接口隔离原则三大基本特性1.封装封装,就是将客观事物抽象为逻辑实体,实体的属性和功能相结合,形成一个有机的整体。并对实体的属性和功能实现进行访问控制,向信任的实体开放,对不信任的实体隐藏。,通过开放的外部接口即可访问,无需知道功能如何实现。
- 一些项目架构设计
想要追着光
面试复习1024程序员节java
本文章目录面向对象程序设计的主要原则1、单一职责原则(Single-ResponsibilityPrinciple)2、里氏代换原则(LiskovSubstitutionPrinciple)3、依赖倒置原则(DependenceInversionPrinciple)4、接口隔离原则(InterfaceSegregationPrinciple)5、迪米特原则(LawofDemeter)数据库设计原则
- 用依赖倒置和控制反转,突破Golang循环调用限制之后的思考
liuwill
开发技术golang后端接口隔离原则
在软件开发中,随着项目规模的扩大和业务逻辑的复杂化,重构代码变得越来越重要。本文将介绍如何在既有代码基础上,通过依赖倒置(DIP)和控制反转(IoC),实现新增加的代码可以循环引用到服务层的代码。然后,我们将探讨接口隔离、设计小而清晰的接口和包,以及共同依赖原则等内容。包引用时的循环依赖问题在开发服务端代码的时候,我们通常会采用单体分层设计,通常会将大量的领域代码集中在Service层,因为是同一
- 1.1依赖倒置原则
lz0929
依赖倒置原则(DependencolthvesionPrinciple,DIP)是指设计代码结构时,高层模块不应该依赖低层模块,二者都应该依赖其抽象类。抽象类不应该依赖细节,细节应该依赖抽象。通过依赖倒置,可以减少类与类之间的耦合性,提高系统的稳定性,提高代码的可读性和可维护性,并且能够降低修改程序所造成的风险。1.课程示例类publicclassCourseExample{publicvoids
- 软件设计原则之单一职责原则、开闭原则
MissYasiky
软件设计设计原则
系列文章目录软件设计原则之单一职责原则、开闭原则软件设计原则之里氏替换原则、依赖倒置原则软件设计原则之接口隔离原则、合成复用原则、迪米特原则文章目录系列文章目录前言一、单一职责原则什么是单一职责原则(What)为什么使用单一职责原则(Why)如何使用单一职责原则(How)二、开闭原则什么是开闭原则(What)为什么使用开闭原则(Why)如何使用开闭原则(How)前言面向对象设计原则是评价每个设计模
- java基础:面向对象六大设计原则——单一职责原则
少年锦时的博客
javajava
单一职责原则(SRP:Singleresponsibilityprinciple)又称单一功能原则,是面向对象六个基本原则(包括SRP:单一职责原则、OCP开放封闭原则、LSP里氏替换原则、DIP依赖倒置原则、ISP接口分离原则、迪米特法则)之一。它规定一个类应该只有一个发生变化的原因。问题由来之所以会出现单一职责原则就是因为在软件设计时会出现以下类似场景:T负责两个不同的职责:职责P1,职责P2
- Simple RPC - 05 从零开始设计一个客户端(下)_ 依赖倒置和SPI
小小工匠
【SimpleRPC】rpc网络协议网络
文章目录Pre概述依赖倒置原则与解耦设计与实现1.定义接口来隔离调用方与实现类2.实现类`DynamicStubFactory`3.调用方与实现类的解耦依赖注入与SPI的解耦依赖注入SPI(ServiceProviderInterface)总结PreSimpleRPC-01框架原理及总体架构初探SimpleRPC-02通用高性能序列化和反序列化设计与实现SimpleRPC-03借助Netty实现异
- 面向对象的六大原则
zdy2280
1、单一职责原则:一个类应该是一组相关性很高的函数、数据的封装;2、开闭原则:软件中的对象(类、模块、函数等)应该对于拓展是开放的,但是对于修改是封闭的;3、里氏替换原则:只要父类能出现的地方子类就可以出现,而且替换为子类也不会产生任何错误或异常,使用者可能根本就不知道是父类还是子类;4、依赖倒置原则:模块间的依赖通过抽象发生,实现类之间不发生直接的依赖关系,其依赖关系是通过接口或抽象类产生的;5
- [C#]什么是依赖倒置原则:依赖倒置原则的简单示例与应用解析
一个代码猎人
ASP.NETCore笔记本c#依赖倒置原则
依赖倒置原则(DependencyInversionPrinciple,DIP)是面向对象设计的一个重要原则,是SOLID五大设计原则之一。它旨在减少模块之间的依赖性,使得代码更加灵活、可扩展、可维护。依赖倒置原则有两个核心思想:高层模块不应该依赖低层模块,二者都应该依赖于抽象。高层模块指的是那些包含应用程序核心逻辑的模块,而低层模块则是那些具体的实现细节或基础设施,如数据库访问、文件系统操作等。
- C++观察者模式Observer
MatsumotoChrikk
C++设计模式观察者模式android
组件协作–(都是晚绑定的)----观察者模式为某些对象建立一种通知依赖的关系,只要这个对象状态发生改变,观察者对象都能得到通知。但是依赖关系要松耦合,不要太依赖。eg:做一个文件分割器,需要一个界面mainform。里面有文件路径,文件号。但是如果文件太大了,我想分割,想要一个进度条。依赖倒置原则:高层模块不能依赖底层模块。Bar上述这样就不可以,因为编译时依赖了,这样是违背依赖倒置的。怎么样重构
- 详细介绍设计模式七大原则
来自宇宙的曹先生
设计模式设计模式设计模式七大原则
1.概述设计模式的七大原则旨在提高软件的可维护性、可复用性和可扩展性,包括:单一职责原则:一个类应该只有一个引起它变化的原因。开闭原则:软件实体应对扩展开放,对修改封闭。里氏替换原则:子类型必须能够替换掉它们的基类型。依赖倒置原则:高层模块不应依赖于低层模块,两者都应依赖于抽象;抽象不应依赖于细节,细节应依赖于抽象。接口隔离原则:使用多个专门的接口比使用单一的总接口更好。合成/聚合复用原则:尽量使
- 前端常见的设计模式
一只理智恩
前端设计模式javascript前端开发语言
说到设计模式,大家想到的就是六大原则,23种模式。这么多模式,并非都要记住,但作为前端开发,对于前端出现率高的设计模式还是有必要了解并掌握的,浅浅掌握9种模式后,整理了这份文章。六大原则:依赖倒置原则(DependenceInversionPrinciple):高层(业务层)不应该直接调用底层(基础层)模块开闭原则(OpenClosePrinciple):单模块对拓展开放、对修改关闭单一原则(Si
- 2020-04-03 工作日志
CowSword
14:00《java设计模式及实践》开闭原则,里氏替换原则,单一职责原则,接口隔离原则?,依赖倒置原则?UML14:30《lightwieghtdjango》WhyStateless?HTTPitselfisastatelessprotocol,meaningeachrequestthatcomestotheserverisindependentofthepreviousrequest.Ifapa
- 6. 依赖倒置原则——面向对象设计原则
Zal哥哥
前两节我们详细介绍了面向对象设计原则中的开闭原则和里氏替换原则,在本节中我们来介绍依赖倒置原则。依赖倒置原则的定义依赖倒置原则(DependenceInversionPrinciple,DIP)是ObjectMentor公司总裁罗伯特·马丁(RobertC.Martin)于1996年在C++Report上发表的文章。依赖倒置原则的原始定义为:高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不
- 23种计模式之Python/Go实现
Generalzy
GOpythonpythongolang开发语言
目录设计模式what?why?设计模式:设计模式也衍生出了很多的新的种类,不局限于这23种创建类设计模式(5种)结构类设计模式(7种)行为类设计模式(11种)六大设计原则开闭原则里氏替换原则依赖倒置原则接口隔离原则迪米特法则(最少知识原则)单一职责原则设计原则与设计模式创建类设计模式与设计原则结构类设计模式与设计原则行为类设计模式与设计原则创建类设计模式(5种)单例模式使用场景优缺点代码实现pyt
- Java设计模式详细介绍(含面向对象设计原则)
Simon学Java
java设计模式开发语言
一、面向对象设计原则在了解设计模式前我们先来学习一下什么是面向对象设计原则1.1面向对象设计原则概述面向对象设计原则(SOLID原则)是一组关于如何编写可维护、灵活和可扩展的代码的指导方针。这些原则被广泛应用于面向对象编程语言(如Java、C#等)的软件设计和开发中。其主要包括以下原则:单一责任原则,开闭原则,里氏替换原则,依赖倒置原则,接口隔离原则,迪米特法则,合成复用原则面向对象设计原则的出现
- 843. 【系统架构2】面向对象的设计原则
七镜
单一责任原则。就一个类而言,应该仅有一个引起它变化的原因。即当需要修改某个类的时候原因有且只有一个,让一个类只做一种类型责任开放-封闭原则。软件实体(类、模块、函数等)应该是可以扩展的,即开放的;但是不可修改,即封闭的。里氏替换原则。子类型能够替换掉他们的基类型。即在任何父类可以出现的地方都可以用子类的示例来赋值给父类型的引用。依赖倒置原则。抽象不应该依赖于细节,细节应该依赖于抽象。即高层模块不应
- 软件设计原则
yym_439
开闭原则定义:类、模块、函数应该对拓展开放,对修改关闭。用抽象构建框架,用实现拓展细节。依赖倒置原则定义:高层模块(调用类)不应该依赖低层模块(功能类),两者都应该依赖其抽象抽象不应该依赖细节,细节应该依赖抽象针对接口编程,不要针对实现编程(应该继承抽象类,实现接口)单一职责定义:不要存在多于一个导致类变更的原因类、接口、方法只负责一项职责接口隔离原则定义:用多个专门的接口,而不使用单一的总接口,
- 【译】再谈 SOLID 原则
前端后端androidios
译者序原文地址:SolidRelevance-cleancoderblog原作者:RobertCMartin,即UncleBobSOLID的五条原则在本文中分别翻译为:单一责任原则开闭原则里氏替换原则协议隔离原则依赖倒置原则我对于原则/法则/规矩一类的东西其实比较反感,它们武断地把试错的经验和过程浓缩为几个字或字母,坏处就是带来了无数的误解。往往越是一知半解的人,越是奉之为信条,越是常挂在嘴边,仿
- Python之旅设计模式与设计原则篇
爱喝水的qdy
Python3Python设计模式设计原则面向对象
目录什么是设计模式为什么需要设计模式创始人GOF面向对象设计的SOLID原则开放-封闭原则里氏替换原则依赖倒置原则接口隔离原则单一职责原则设计模式类型创建型模式(关注类的创建)简单工厂模式工厂方法模式抽象工厂模式建造者模式单例模式结构型模式(关注类与类、对象与对象之间的协作)适配器模式桥模式组合模式外观模式代理模式行为型模式(关注方法之间)责任链模式观察者模式策略模式模板方法模式什么是设计模式设计
- 设计模式——“依赖倒置”原则
prik丶
目录查看其它设计模式笔记,点这里→设计模式笔记汇总依赖倒置原则(DependenceInversionPrinciple,DIP)定义:Highlevelmodulesshouldnotdependuponlowlevelmodules.Bothshoulddependuponabstractions.Abstractionsshouldnotdependupondetails.Detailssh
- SOLID设计原则
西山薄凉
SOLID分别为:单一职责原则开闭原则里氏替换原则接口隔离原则依赖倒置原则单一职责原则1.如何理解单一职责原则(SRP)?一个类只负责完成一个职责或者功能。不要设计大而全的类,要设计粒度小、功能单一的类。单一职责原则是为了实现代码高内聚、低耦合,提高代码的复用性、可读性、可维护性。2.如何判断类的职责是否足够单一?不同的应用场景、不同阶段的需求背景、不同的业务层面,对同一个类的职责是否单一,可能会
- 【设计模式7大原则详解】
劉鵬杰
JAVA设计模式设计模式java
设计模式的目的编写软件过程种,面临着来着耦合性,内聚性,以及可维护性,可扩展性,重用性,灵活性等多方便的挑战,设计模式是为了让程序具有一下特点代码重用性代码可读性可扩展性可靠性使得程序高内聚,低耦合的特点设计模式七大原则设计模式原则,其实就是程序员在编程时,应当遵守的原则,也是各种设计模式的基础(即:设计模式为什么这样设计的依据)常用的七大原则有:单一职则原则接口隔离原则依赖倒置原则里式替换原则开
- C++设计模式-6原则(合)
vczxh
c++c++设计模式
目录单一职责里氏替换依赖倒置接口隔离迪米特法则开闭原则单一职责单一职责原则定义了类的封装规范。(封装、继承、多态)定义:有且仅有一个引起类变化的原因。e.g.1.一个需要重新封装的类classA{public:voidfunName(){}voidfunSex(){}voidfunAge(){}voidfunCourse(){}//要重新封装到其他类voidfunTeacher(){}//要重新封
- 设计模式之七大设计原则
嘉禾嘉宁papa
设计模式设计模式七大设计原则
目录一、简介二、浅析2.1、单一职责原则(SingleResponsibilityPrinciple-SRP)2.2、开闭原则(Open/ClosedPrinciple-OCP)2.3、里氏替换原则(LiskovSubstitutionPrinciple-LSP)2.4、接口隔离原则(InterfaceSegregationPrinciple-ISP)2.5、依赖倒置原则(DependencyIn
- jvm调优总结(从基本概念 到 深度优化)
oloz
javajvmjdk虚拟机应用服务器
JVM参数详解:http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html
Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。
- 【Scala十六】Scala核心十:柯里化函数
bit1129
scala
本篇文章重点说明什么是函数柯里化,这个语法现象的背后动机是什么,有什么样的应用场景,以及与部分应用函数(Partial Applied Function)之间的联系 1. 什么是柯里化函数
A way to write functions with multiple parameter lists. For instance
def f(x: Int)(y: Int) is a
- HashMap
dalan_123
java
HashMap在java中对很多人来说都是熟的;基于hash表的map接口的非同步实现。允许使用null和null键;同时不能保证元素的顺序;也就是从来都不保证其中的元素的顺序恒久不变。
1、数据结构
在java中,最基本的数据结构无外乎:数组 和 引用(指针),所有的数据结构都可以用这两个来构造,HashMap也不例外,归根到底HashMap就是一个链表散列的数据
- Java Swing如何实时刷新JTextArea,以显示刚才加append的内容
周凡杨
java更新swingJTextArea
在代码中执行完textArea.append("message")后,如果你想让这个更新立刻显示在界面上而不是等swing的主线程返回后刷新,我们一般会在该语句后调用textArea.invalidate()和textArea.repaint()。
问题是这个方法并不能有任何效果,textArea的内容没有任何变化,这或许是swing的一个bug,有一个笨拙的办法可以实现
- servlet或struts的Action处理ajax请求
g21121
servlet
其实处理ajax的请求非常简单,直接看代码就行了:
//如果用的是struts
//HttpServletResponse response = ServletActionContext.getResponse();
// 设置输出为文字流
response.setContentType("text/plain");
// 设置字符集
res
- FineReport的公式编辑框的语法简介
老A不折腾
finereport公式总结
FINEREPORT用到公式的地方非常多,单元格(以=开头的便被解析为公式),条件显示,数据字典,报表填报属性值定义,图表标题,轴定义,页眉页脚,甚至单元格的其他属性中的鼠标悬浮提示内容都可以写公式。
简单的说下自己感觉的公式要注意的几个地方:
1.if语句语法刚接触感觉比较奇怪,if(条件式子,值1,值2),if可以嵌套,if(条件式子1,值1,if(条件式子2,值2,值3)
- linux mysql 数据库乱码的解决办法
墙头上一根草
linuxmysql数据库乱码
linux 上mysql数据库区分大小写的配置
lower_case_table_names=1 1-不区分大小写 0-区分大小写
修改/etc/my.cnf 具体的修改内容如下:
[client]
default-character-set=utf8
[mysqld]
datadir=/var/lib/mysql
socket=/va
- 我的spring学习笔记6-ApplicationContext实例化的参数兼容思想
aijuans
Spring 3
ApplicationContext能读取多个Bean定义文件,方法是:
ApplicationContext appContext = new ClassPathXmlApplicationContext(
new String[]{“bean-config1.xml”,“bean-config2.xml”,“bean-config3.xml”,“bean-config4.xml
- mysql 基准测试之sysbench
annan211
基准测试mysql基准测试MySQL测试sysbench
1 执行如下命令,安装sysbench-0.5:
tar xzvf sysbench-0.5.tar.gz
cd sysbench-0.5
chmod +x autogen.sh
./autogen.sh
./configure --with-mysql --with-mysql-includes=/usr/local/mysql
- sql的复杂查询使用案列与技巧
百合不是茶
oraclesql函数数据分页合并查询
本片博客使用的数据库表是oracle中的scott用户表;
------------------- 自然连接查询
查询 smith 的上司(两种方法)
&
- 深入学习Thread类
bijian1013
javathread多线程java多线程
一. 线程的名字
下面来看一下Thread类的name属性,它的类型是String。它其实就是线程的名字。在Thread类中,有String getName()和void setName(String)两个方法用来设置和获取这个属性的值。
同时,Thr
- JSON串转换成Map以及如何转换到对应的数据类型
bijian1013
javafastjsonnet.sf.json
在实际开发中,难免会碰到JSON串转换成Map的情况,下面来看看这方面的实例。另外,由于fastjson只支持JDK1.5及以上版本,因此在JDK1.4的项目中可以采用net.sf.json来处理。
一.fastjson实例
JsonUtil.java
package com.study;
impor
- 【RPC框架HttpInvoker一】HttpInvoker:Spring自带RPC框架
bit1129
spring
HttpInvoker是Spring原生的RPC调用框架,HttpInvoker同Burlap和Hessian一样,提供了一致的服务Exporter以及客户端的服务代理工厂Bean,这篇文章主要是复制粘贴了Hessian与Spring集成一文,【RPC框架Hessian四】Hessian与Spring集成
在
【RPC框架Hessian二】Hessian 对象序列化和反序列化一文中
- 【Mahout二】基于Mahout CBayes算法的20newsgroup的脚本分析
bit1129
Mahout
#!/bin/bash
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information re
- nginx三种获取用户真实ip的方法
ronin47
随着nginx的迅速崛起,越来越多公司将apache更换成nginx. 同时也越来越多人使用nginx作为负载均衡, 并且代理前面可能还加上了CDN加速,但是随之也遇到一个问题:nginx如何获取用户的真实IP地址,如果后端是apache,请跳转到<apache获取用户真实IP地址>,如果是后端真实服务器是nginx,那么继续往下看。
实例环境: 用户IP 120.22.11.11
- java-判断二叉树是不是平衡
bylijinnan
java
参考了
http://zhedahht.blog.163.com/blog/static/25411174201142733927831/
但是用java来实现有一个问题。
由于Java无法像C那样“传递参数的地址,函数返回时能得到参数的值”,唯有新建一个辅助类:AuxClass
import ljn.help.*;
public class BalancedBTree {
- BeanUtils.copyProperties VS PropertyUtils.copyProperties
诸葛不亮
PropertyUtilsBeanUtils
BeanUtils.copyProperties VS PropertyUtils.copyProperties
作为两个bean属性copy的工具类,他们被广泛使用,同时也很容易误用,给人造成困然;比如:昨天发现同事在使用BeanUtils.copyProperties copy有integer类型属性的bean时,没有考虑到会将null转换为0,而后面的业
- [金融与信息安全]最简单的数据结构最安全
comsci
数据结构
现在最流行的数据库的数据存储文件都具有复杂的文件头格式,用操作系统的记事本软件是无法正常浏览的,这样的情况会有什么问题呢?
从信息安全的角度来看,如果我们数据库系统仅仅把这种格式的数据文件做异地备份,如果相同版本的所有数据库管理系统都同时被攻击,那么
- vi区段删除
Cwind
linuxvi区段删除
区段删除是编辑和分析一些冗长的配置文件或日志文件时比较常用的操作。简记下vi区段删除要点备忘。
vi概述
引文中并未将末行模式单独列为一种模式。单不单列并不重要,能区分命令模式与末行模式即可。
vi区段删除步骤:
1. 在末行模式下使用:set nu显示行号
非必须,随光标移动vi右下角也会显示行号,能够正确找到并记录删除开始行
- 清除tomcat缓存的方法总结
dashuaifu
tomcat缓存
用tomcat容器,大家可能会发现这样的问题,修改jsp文件后,但用IE打开 依然是以前的Jsp的页面。
出现这种现象的原因主要是tomcat缓存的原因。
解决办法如下:
在jsp文件头加上
<meta http-equiv="Expires" content="0"> <meta http-equiv="kiben&qu
- 不要盲目的在项目中使用LESS CSS
dcj3sjt126com
Webless
如果你还不知道LESS CSS是什么东西,可以看一下这篇文章,是我一朋友写给新人看的《CSS——LESS》
不可否认,LESS CSS是个强大的工具,它弥补了css没有变量、无法运算等一些“先天缺陷”,但它似乎给我一种错觉,就是为了功能而实现功能。
比如它的引用功能
?
.rounded_corners{
- [入门]更上一层楼
dcj3sjt126com
PHPyii2
更上一层楼
通篇阅读完整个“入门”部分,你就完成了一个完整 Yii 应用的创建。在此过程中你学到了如何实现一些常用功能,例如通过 HTML 表单从用户那获取数据,从数据库中获取数据并以分页形式显示。你还学到了如何通过 Gii 去自动生成代码。使用 Gii 生成代码把 Web 开发中多数繁杂的过程转化为仅仅填写几个表单就行。
本章将介绍一些有助于更好使用 Yii 的资源:
- Apache HttpClient使用详解
eksliang
httpclienthttp协议
Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟练掌握HttpClient是很重要的必修内容,掌握HttpClient后,相信对于Http协议的了解会
- zxing二维码扫描功能
gundumw100
androidzxing
经常要用到二维码扫描功能
现给出示例代码
import com.google.zxing.WriterException;
import com.zxing.activity.CaptureActivity;
import com.zxing.encoding.EncodingHandler;
import android.app.Activity;
import an
- 纯HTML+CSS带说明的黄色导航菜单
ini
htmlWebhtml5csshovertree
HoverTree带说明的CSS菜单:纯HTML+CSS结构链接带说明的黄色导航
在线体验效果:http://hovertree.com/texiao/css/1.htm代码如下,保存到HTML文件可以看到效果:
<!DOCTYPE html >
<html >
<head>
<title>HoverTree
- fastjson初始化对性能的影响
kane_xie
fastjson序列化
之前在项目中序列化是用thrift,性能一般,而且需要用编译器生成新的类,在序列化和反序列化的时候感觉很繁琐,因此想转到json阵营。对比了jackson,gson等框架之后,决定用fastjson,为什么呢,因为看名字感觉很快。。。
网上的说法:
fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。
- 基于Mybatis封装的增删改查实现通用自动化sql
mengqingyu
DAO
1.基于map或javaBean的增删改查可实现不写dao接口和实现类以及xml,有效的提高开发速度。
2.支持自定义注解包括主键生成、列重复验证、列名、表名等
3.支持批量插入、批量更新、批量删除
<bean id="dynamicSqlSessionTemplate" class="com.mqy.mybatis.support.Dynamic
- js控制input输入框的方法封装(数字,中文,字母,浮点数等)
qifeifei
javascript js
在项目开发的时候,经常有一些输入框,控制输入的格式,而不是等输入好了再去检查格式,格式错了就报错,体验不好。 /** 数字,中文,字母,浮点数(+/-/.) 类型输入限制,只要在input标签上加上 jInput="number,chinese,alphabet,floating" 备注:floating属性只能单独用*/
funct
- java 计时器应用
tangqi609567707
javatimer
mport java.util.TimerTask; import java.util.Calendar; public class MyTask extends TimerTask { private static final int
- erlang输出调用栈信息
wudixiaotie
erlang
在erlang otp的开发中,如果调用第三方的应用,会有有些错误会不打印栈信息,因为有可能第三方应用会catch然后输出自己的错误信息,所以对排查bug有很大的阻碍,这样就要求我们自己打印调用的栈信息。用这个函数:erlang:process_display (self (), backtrace).需要注意这个函数只会输出到标准错误输出。
也可以用这个函数:erlang:get_s