- 博客(11)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 JSP页面加载即执行后台方法
做实验的时候,想从页面一加载就执行后台的方法,取出数据库中的信息到首页来,这时候该怎么办呢?直接在JSP中连接数据库不太美观,本来想用Ajax来访问后台的action(我这里用的是Struts2),最后还是使用了一个小技巧:设置一个隐藏的表单,然后用js在页面一加载就提交。<form action="search.action" method="post" id="index"></form><s
2017-04-21 14:12:49 15356 3
原创 深入PHP面向对象、模式与实践——执行及描述任务(5)
命令模式创建可被保存和传送的命令对象。命令模式有助于系统更好进行组织,并有助于扩展。命令对象的接口极为简单,因为他只要求实现一个方法execute()。命令模式有三部分组成:实例化命令对象的客户端(client)、部署命令对象的调用者(invoker)和接受命令对象的接收者(receiver)。让我们创建一个具体的Command类:abstract class Command{ abstr
2017-04-13 15:35:09 366
原创 深入PHP面向对象、模式与实践——执行及描述任务(3)
观察者模式创建依赖关系,当系统事件发生时通知观察者对象。正交性是我们之前讨论过的一个话题。程序员的目标应该是创建在改动和转移时对其他组件影响最小的组件。当然,正交性通常只是个梦想,然而你可以使用不同的策略来使引用尽量减少。下面假设有个负责处理用户登录的类:class Login{ const LOGIN_USER_UNKNOW = 1; const LONGIN_
2017-04-12 19:05:54 291
原创 深入PHP面向对象、模式与实践——执行及描述任务(2)
策略模式在系统中定义算法并以它们自己的类型封装。只要发现自己正不断地在继承树的各个分支中重复同一个算法(无论是通过子类还是通过重复条件语句),请将这些算法抽象成独立的类型。当类必须支持同一个接口的多种实现时,最好的办法常常是提取出这些实现,并将它们放置在自己的类型中,而不是通过继承原有的类去支持这些实现。如下结构: abstract class Question{ protected $
2017-04-07 09:28:17 187
原创 深入PHP面向对象、模式与实践——执行及描述任务(1)
解释器模式构造一个可以用于创建脚本化应用的迷你语言解释器。 abstract class Expression{ private static $keycount = 0; private $key; abstract function interpret(InterpreterContext $context); function getKey() {
2017-04-06 21:36:17 230
原创 深入PHP面向对象、模式与实践——让面向对象编程更加灵活的模式(3)
外观模式外观模式可以为复杂系统创建一个简单、清晰的接口。下面是一些故意让人混淆的不着边际的代码:function getProductFileLines($file){ return file($file);}function getProductObjectFromId($id, $productname){ //一些数据库查询 return new Product(
2017-04-06 17:04:45 229
原创 深入PHP面向对象、模式与实践——让面向对象编程更加灵活的模式(2)
装饰模式组合模式帮助我们聚合组件,而装饰模式则使用类似结构来帮助我们改变具体组件的功能。装饰模式使用组合和委托而不是只使用继承来解决功能变化的问题。实际上,Decorator类会持有另外一个类的实例。Decorator对象会实现与被调用对象的方法相对应的类方法。用这种办法可以在运行时创建一系列的Decorator对象。abstract class Tile{ abstra
2017-04-06 16:37:32 203
原创 深入PHP面向对象、模式与实践——组合模式
组合模式将一组对象组合为可像单个对象一样被使用的结构。组合模式定义了一个单根继承体系,使具有截然不同职责的集合可以并肩工作。组合模式中的类必须支持一个共同的操作集,以将其作为它们首要职责。类同时必须拥有添加和删除子对象的方法。abstract class Unit{ abstract function addUnit(Unit $unit); abstract function re
2017-04-05 19:42:17 286
原创 深入PHP面向对象、模式与实践——生成对象(3)
原型模式平行继承层次的出现是工厂方法模式带来的一个问题。一个避免这种依赖的方法是使用PHP的clone关键词复制已存在的具体产品。然后,具体产品类本身便成为它们自己生成的基础。这便是原型模式。使用该模式我们可以用组合代替继承。这样的转变促使了代码运行时的灵活性,并减少了必须创建的类。以下展示一个抽象工厂和工厂方法模式的类图: 你可以看到,我们依赖继承来组合工厂生成terrain家族产品,但这需要一
2017-04-05 13:05:19 323
原创 深入PHP面向对象、模式与实践——生成对象(2)
工厂方法模式面向对象设计强调“抽象类高于实现”。也就是说,我们要尽量一般化而不是特殊化。工厂方法模式解决了当代码关注于抽象类型时如何创建对象实例的问题。答案便是用特定的类来处理。工厂方法模式把创建者类与要生产的产品类分离开来。创建者是一个工厂类,其中定义了用于生成产品对象的类方法。如果没有提供默认实现,那么就由创建者类的子类来执行实例化。一般情况下,就是创建者类的每个子类实例化一个相应产品子类。ab
2017-04-04 18:38:43 195
原创 深入PHP面向对象、模式与实践——生成对象(1)
单例模式生成对象的问题和解决方案abstract class Employee{ protected $name; public function __construct($name) { $this->name = $name; } abstract function fire();}class Minion extends Employ
2017-04-01 14:51:00 384
利用javaFX写万年历
2016-12-19
Spring boot 访问Twitter API失败
2017-09-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人