设计模式:建造者模式
来源:互联网 发布:淘宝网电脑版首页 编辑:程序博客网 时间:2024/05/18 02:21
2017年11月23号,今年最无耻的一句话诞生了。
话说,昨天是周三。晚上六点的时候,已经是下班时间了。按照惯例,我们假模假样的在公司里多呆了一会。到六点一刻的时候,我们才关电脑下班。
我在地铁上,工作群中突然收到一个同事的微信。同事说:刚才领导问他:“为什么一下班,你们就走了!是不是手里没什么事情?”
我靠,MD,这TMD绝对是2017年最无耻的一句话。下班了,我们不应该走?手里有事情我们就不能下班了,我们就应该熬夜干?我们就活该天天夜夜给你干活?
我们周六加班,没有加班费,没有调休,晚上加班到八点以后,几次通宵,只有15元的餐补。我们才刚刚闲了一会儿,正常上下班,你就看不惯了!
你还是人吗?还有一点同理心吗?
不扯人情和人性,就按照合同来,我们也没有责任和义务天天夜夜上班啊!
我们在群里冷嘲热讽说了一大堆,没想到有个同事竟然帮领导说话。
对于不能正常上下班,他说,有几家软件公司是不加班?是能正常上下班的?
坦白说,这就是奴性。不讲道理,不讲逻辑,为人处世完全跟风。在中国什么叫董事,就是别人做什么,我们也做什么,这就是董事,这就是会做人做事。傻逼,如果有人吃屎,
是不是也要跟着吃!
因为其它公司都会加班,我们加班就合理了?fuck!如果真的要跟风,我们只是员工,我们应该跟好的比,比如外企。而且我们是受压迫被剥削者,放在封建时期,我们就好比是奴才,奴隶。
林语堂有过一句经典的话:中国有这么一群人,本身生活在社会底层,自身权利每天都在受到侵害,却具有统治阶层的意识,处处为统治阶级辩护,就是动物界也找不到如此低智的畜生。
可怜,自文艺复兴以来,人权,自由已经出现了三百多年了,我们至今不知道,不明白,不能拥有,不能享受。还活在丛林社会,崇尚适者生存,优胜劣汰的逻辑,胜者为王,败者为寇,以成败论英雄,趋炎附势,苟延残喘,勾心斗角,尔虞我诈。
呜呼,悲哉!
闲言少叙,书归正传。
什么是建造者模式:
Builder模式也叫建造者模式或者生成器模式,是由GoF提出的23种设计模式中的一种。Builder模式是一种对象创建型模式之一,用来隐藏复合对象的创建过程,它把复合对象的创建过程加以抽象,通过子类继承和重载的方式,动态地创建具有复合属性的对象。
建造者模式应用场景:
对象的创建:Builder模式是为对象的创建而设计的模式
创建的是一个复合对象:被创建的对象为一个具有复合属性的复合对象
关注对象创建的各部分的创建过程:不同的工厂(这里指builder生成器)对产品属性有不同的创建方法
package product;
public abstract class House {
private String door;// 房门
private String wall;// 墙
private String window;// 窗户
public String getDoor() {
return door;
}
public void setDoor(String door) {
this.door = door;
}
public String getWall() {
return wall;
}
public void setWall(String wall) {
this.wall = wall;
}
public String getWindow() {
return window;
}
public void setWindow(String window) {
this.window = window;
}
@Override
public String toString() {
return this.door+":"+this.wall+":"+this.window;
}
}
package product;
/**
* 房子
*
* @author guosheng
*
*/
public class LouHouse extends House {
}
package builder;
import product.House;
public interface HouseBuilder {
//安装门
public void installDoor();
//粉刷墙
public void installWall();
//安装窗户
public void installWindow();
//获取房子
public House getHouse();
}
package builder;
import product.House;
import product.LouHouse;
public class LouBuilder implements HouseBuilder{
House house = new LouHouse();
/**
* 安装房间门的方法
*/
public void installDoor(){
house.setDoor("铝合金门");
}
/**
* 刷墙
*/
public void installWall(){
house.setWall("粉刷白面墙");
}
/**
* 安装窗户
*/
public void installWindow(){
house.setWindow("pvc塑料窗户");
}
/**
* 获取房子
* @return
*/
public House getHouse(){
return house;
}
}
package builder;
import product.House;
public interface HouseBuilder {
//安装门
public void installDoor();
//粉刷墙
public void installWall();
//安装窗户
public void installWindow();
//获取房子
public House getHouse();
}
- 设计模式-------建造者
- 设计模式-建造者
- 建造者设计模式
- 建造者设计模式
- 建造者设计模式
- 设计模式-建造者
- 建造者设计模式
- 建造者设计模式
- 建造者设计模式
- [设计]建造者模式
- 设计模式:建造者模式
- 设计模式---建造者模式
- 设计模式---建造者模式
- 设计模式-----建造者模式
- 设计模式-【建造者模式】
- 设计模式--建造者模式
- 设计模式建造者模式
- 设计模式- 建造者模式
- 1.关于SQL查询效率,100w数据,查询只要1秒,与您分享:
- Plsql创建连接DBlinks
- RabbitMQ概念
- Jsp常用5种跳转方式
- 第十三周项目3
- 设计模式:建造者模式
- 小白Java笔记——Java程序的基本规则
- RabbitMQ原理
- eclipse的默认标签TODO
- mac键盘图标与对应快捷键
- 校招面试一账通java开发——知识总结
- mt2503 如何使用Feature Phone MDT工具Total format flash
- spring_day4_01-ssh整合知识点介绍
- 第十二周 【项目3